Django+pycharm+mysql 实现用户登录/注册(Django五)
首先是让Django项目与mysql数据库初步建立连接
具体做法见:pycharm连接mysql(注意其中第二步MySQL驱动最好安装最新版的)
这里讲一下我在做这一步遇到的问题。一般Driver 那里的com.mysql.cj.jdbc.Driver是会自动显示的,但我一开始不显示
因为我的mysql-connector-java-8.0.19文件夹如下,重复了,(这个是我拿下载到的zip选择解压文件得到的),得选第二个mysql-connector-java-8.0.19才有效:
正确的mysql-connector-java-8.0.19包含如下文件,
ok,按以上步骤完成便可与mysql初步建立连接了。
连接建立后便可以在pycharm直接对数据库进行操作了
这里的对DB navigator的操作自己随便点点就可以懂了,无非就是增删改查,不细说
接下来就是一些配置问题
在settings.py里做如下修改:
这里的name填写你要连接的MySQL中的数据库名字
在这里注册以下app,my_app是我创建的app的名字
然后对init.py做如下修改:
在models.py中添加如下代码,创建一个user模型:
然后在admin.py中注册一下该模型:
这样我们就在数据库中创建了一个user表,如图:
随后通过connection在表中添加数据,这个自己摸索一下即可实现
这样表中就有了两个我们插入的数据:
最后一步,在终端执行如下命令:
python manage.py makemigrations
python manage.py migrate
这两个命令的作用可以自行网上了解
到这里就剩最后一步了,即登录页面提交表单,随后到数据库中验证
找到登录页面的表单:
其中action代表你将表单提交至何处(后面我们会详写check_login),用户名和密码输入里的name,我们后面会根据这两个name获取两个框中输入的值(见下图代码,点击登录时提交表单,获取到了id为login-username框中输入的值,而userName恰好就是上图里的name)
到urls.py中添加check_login:
最后到views.py中详细写一下check_login.
先如下,暂时并未与数据库相连接
def check_login(request):
if request.method == "POST":
username = request.POST.get('userName', None) #userName为上图form表单中用户名那里的name值
password = request.POST.get('passWord', None)
if username =='admin' and password =='123456':
return redirect('homepage') #跳转至homepage页面
else:
return render(request, 'login.html')
在登录页面,用户名输入admin,密码输入123456
若可以跳转至homepage页面,则代表成功获取到了框中输入的用户名和密码
接下来就是连接数据库了,代码如下:
def check_login(request):
if request.method == "POST":
username = request.POST.get('userName', None)
password = request.POST.get('passWord', None)
#if username =='admin' and password =='123456':///此处试验成功,成功从表单处得到输入的用户名和密码
# return redirect('homepage')
#else:
# return render(request, 'register.html')
if username and password: # 确保用户名和密码都不为空
username = username.strip()
try:
user = models.User.objects.get(name=username) #看前面创建的user表中是否有name值符合登录页面输入的用户名
except:
return render(request, 'register.html') #数据库中没有相应的用户名,跳转至注册页面
if user.password == password:
return redirect('homepage')
return render(request, 'login.html')
ok,这样就可以在Django中实现登录功能啦
如果本片博客无法帮你用Django实现登录/注册,可以结合一下https://blog.csdn.net/laikaikai/article/details/80563387,这篇博客中的登录注册部分还是很详细的。
Django+pycharm+mysql 实现用户登录/注册(Django五)的更多相关文章
- JavaWeb-SpringBoot_使用MySQL管理用户登录注册+接入腾讯短信SDK_demo
使用Gradle编译项目 传送门 项目已托管到Github上 传送门 JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信 传送门 用户注册 用户并非一定要输入正确的手机验证码去激活当 ...
- Django实现用户登录注册
本文将会介绍小白如何完成一个用户登录注册系统 新建一个Django项目,名字为login_register,并且使用命令manage.py startapp.User(名字自己随便起) 最终djang ...
- django rest_framework vue 实现用户登录
django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考 django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- android安卓Sqlite数据库实现用户登录注册
看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 纯JSP实现用户登录注册,记事本
没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在 session 中找不到 currentUser ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
随机推荐
- C#LeetCode刷题之#605-种花问题( Can Place Flowers)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3724 访问. 假设你有一个很长的花坛,一部分地块种植了花,另一部 ...
- Vulnhub篇Photographerr
0x00 靶机信息 靶机:Photographerr:1 难度:中 下载:https://www.vulnhub.com/entry/photographer-1,519/ 0x01 信息收集 靶场网 ...
- Jsp内置对象application之统计浏览网页的次数
<% Object obj = application.getAttribute("count"); if(obj !=null){ Integer sum = (Integ ...
- js利用canvas绘制爱心
js代码如下: var cav = document.getElementById("a").getContext("2d"); function draw(x ...
- Golang Gtk+3教程:GtkBuilder使用XML构建UI
在这节我将介绍GtkBuilder,其使我们可以从一个描述界面的xml文件构建UI.而这个文件我们可以使用Glade生成,这会极大的方便我们编辑用户界面.这节我们会使用到这么一个XML文件,名字为Bu ...
- Redis设计与实现——独立功能的实现
发布和订阅 频道的订阅和退订 struct redisServer{ //键是被订阅者频道 ,键是一个链表,记录所有订阅这个频道的客户端 dict *publish_channels } 订阅实现: ...
- 1.Oracle数据库简介
Oracle数据库简介 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracl ...
- 第1篇 Scrum冲刺博客
一.Alpha阶段各成员任务 梁天龙 任务名称 预计工时 编辑历史记录 2 登陆按键设计 3 考勤记录页面 2 人数记录页面 2 学习课程页面 4 建议页面 2 黄岳康 任务名称 ...
- neighbor和neigh_modify(转载)
(转载:http://blog.sina.com.cn/s/blog_b48a7ac30102w4mg.html###) 以下取自:http://simulation.haotui.com/viewt ...
- [PKUWC2018]Minimax 题解
根据题意,若一个点有子节点,则给出权值:否则可以从子节点转移得来. 若没有子节点,则直接给出权值: 若只有一个子节点,则概率情况与该子节点完全相同: 若有两个子节点,则需要从两个子节点中进行转移. 如 ...