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 ...
随机推荐
- JavaScript 把数组扁平化的方法
使用 ES2019中的新特性 Array.prototype.flat() const arr = [1,2,3,4,[10,20,30]] const res = arr.flat() consol ...
- 四种方法求Capacitated Facility Location Problem问题
问题详情 1. 贪心算法 1.1 算法框架 此题可以利用贪心算法来求解, 可以假设只关注顾客的cost, 当仓库满了就在下一个仓库里 具体解决方案: 将每个顾客到工厂的cost 由小到大进行排序 从第 ...
- flask_restful实现文件下载功能
环境:前后端完全分离,后端flask_restful,前端vue from flask_restful import reqparse, Resource from flask import send ...
- Golang 简单爬虫实现,爬取小说
为什么要使用Go写爬虫呢? 对于我而言,这仅仅是练习Golang的一种方式. 所以,我没有使用爬虫框架,虽然其很高效. 为什么我要写这篇文章? 将我在写爬虫时找到资料做一个总结,希望对于想使用Gola ...
- 详解Python Graphql
前言 很高兴现在接手的项目让我接触到了Python Graphql,百度上对其介绍相对较少也不够全面,几乎没有完整的中文文档,所以这边也借此机会学习一下Graphql. 什么是Graphql呢? Gr ...
- CAP 3.1 版本发布通告
前言 今天,我们很高兴宣布 CAP 发布 3.1 版本正式版.同时我们也很高兴的告诉你 CAP 在 GitHub 已经突破了 4000 Star. CAP 3000 Star 还是去年8月份的时候,最 ...
- 笔记:Linux用户管理(补充)、权限管理、内存管理、网络管理、渗透常用命令
一.用户管理(补充) 添加用户:useradd [选项] 用户名 useradd -u 5000 -g demogroup -G root -d /home/demo -s /bin/bash dem ...
- 实现直方图均衡化(java+opencv)
什么是直方图均衡化? 直方图均衡化是一种简单有效的图像增强技术,通过改变图像的直方图来改变图像中各像素的灰度,主要用于增强动态范围偏小的图像的对比度.原始图像由于其灰度分布可能集中在较窄的区间,造成图 ...
- onlyoffice在线编辑
一.安装ONLYOFFICE Document Server 二.集成onlyoffice的二次开发 三.故障排除: 四.缺陷 五.总结 ONLYOFFICE Document Server提供文档协 ...
- I帧B帧P帧
转载自:http://blog.csdn.net/abcjennifer/article/details/6577934 视频压缩中,每帧代表一幅静止的图像.而在实际压缩时,会采取各种算法减少数据的容 ...