python Django编写登录项目
Django 目录结构:
__init__.py 文件:
import pymysql pymysql.install_as_MySQLdb()
注意:如果 import pymysql 的时候报红,请安装 pymysql
输入 cmd 回车
setting.py 文件 配置 mysql 数据库:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'magriculture', # 确保数据库已经存在 'HOST': '127.0.0.1', 'PORT': '3306', 'USER': 'root', 'PASSWORD': '123456', } }
model.py 文件 创建数据表:
from django.db import models # Create your models here. # 创建管理员表 class Administrator(models.Model): username = models.CharField(max_length=32) password = models.CharField(max_length=32) class EnvironmentalData(models.Model): device_id = models.CharField(max_length=32) name = models.CharField(max_length=32) device_type = models.CharField(max_length=32) transfer_type = models.CharField(max_length=32) device_value = models.CharField(max_length=32) timestamp = models.CharField(max_length=32)
控制台语句生成数据表:
python manage.py makemigrations
python manage.py migrate
url.py 文件 添加路由:
from django.contrib import admin from django.urls import path from mAgriculture import views urlpatterns = [ path('admin/', admin.site.urls), path('login.html', views.login), path('index.html', views.index), ]
view.py 文件:
from django.shortcuts import render, HttpResponse, redirect from mAgriculture import models # Create your views here. def login(request): # 登录 if request.method == 'POST': # 如果是post请求 获取用户名和密码 name = request.POST.get('uid') pwd = request.POST.get('pwd') # 去数据库比对 c = models.Administrator.objects.filter(username=name, password=pwd) if c: # 如果有,重定向到主页 rep = redirect('/index.html') # 登陆成功 创建 cookie 存储用户名 rep.set_cookie('username', name) # 返回 return rep else: # 如果没有注册 返回登录界面 return render(request, 'login.html', {'text': '用户名或密码错误!'}) # 如果不是post请求 返回登录界面 return render(request, 'login.html') def index(request): # 主页 # 获取cookie中存储的用户名 name = request.COOKIES.get('username') # 如果有 if name: # 返回主页面 return render(request,'index.html') else: # 如果没有登陆成功直接进主页,重定向,先登录去! return redirect('/login.html')
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!