首先是让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五)的更多相关文章

  1. JavaWeb-SpringBoot_使用MySQL管理用户登录注册+接入腾讯短信SDK_demo

    使用Gradle编译项目 传送门 项目已托管到Github上 传送门 JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信 传送门 用户注册 用户并非一定要输入正确的手机验证码去激活当 ...

  2. Django实现用户登录注册

    本文将会介绍小白如何完成一个用户登录注册系统 新建一个Django项目,名字为login_register,并且使用命令manage.py startapp.User(名字自己随便起) 最终djang ...

  3. django rest_framework vue 实现用户登录

    django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考  django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...

  4. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  5. android安卓Sqlite数据库实现用户登录注册

    看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...

  6. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  8. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

随机推荐

  1. DAPP开发初探——永存的留言

    转载地址 https://blog.csdn.net/qq_33764491/article/details/80570266 前言 最近DAPP的开发貌似很火,学习了区块链的一些知识之后,相信有很多 ...

  2. 使用MIPS完成汇编程序——选择排序实现

    题目: 从键盘输入10个无符号字数并从大到小进行排序,排序结果在屏幕上显示出来.要求能输入数字 和输出数字 且由大到小来排列 1.代码以及伪代码: 首先写出对应c++代码然后把c++代码翻译成汇编语言 ...

  3. 后端程序员必备的 Linux 基础知识+常见命令(近万字总结)

    大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要 ...

  4. Mybatis-09-缓存

    缓存 什么是缓存[Cache]? 存在内存中的临时数据 提高查询效率,解决高并发的性能问题 为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率 什么样的数据能使用缓存? 经常查询且不 ...

  5. Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...

  6. 2-1关闭和重启linux系统

    0x01 shutdown命令 语法:shutdown [选项][时间][警告信息] 选项 含义 -k 并不执行shutdown,只是发出警告信息 -r 重新启动系统 -h 关闭系统 -c 取消运行s ...

  7. 设计模式:装饰者模式介绍及代码示例 && JDK里关于装饰者模式的应用

    0.背景 来看一个项目需求:咖啡订购项目. 咖啡种类有很多:美式.摩卡.意大利浓咖啡: 咖啡加料:牛奶.豆浆.可可. 要求是,扩展新的咖啡种类的时候,能够方便维护,不同种类的咖啡需要快速计算多少钱,客 ...

  8. Linux权限之/etc/passwd文件

    在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性.系统管理员经常会接触到这个文件的修改以完成对用户的管理工作.这个文件对所有用户都是可读的.但是L ...

  9. Robot Framework(1)——环境搭建及安装

    一.了解Robot Framework Robot Framework不是一个测试工具,准确来说,它是一个自动化测试框架,或者说它是一个自动化测试平台 特性如下: 1.支持关键字驱动.数据驱动和行为驱 ...

  10. SpringBoot使用简单缓存

    第一步开启缓存(只要是springboot项目就可以)  数据库连接等相关配置请读者自行实现. 在Application启动类上添加注解 @EnableCaching 开启缓存 @SpringBoot ...