Django自带的用户验证系统实现


Posted in Python onDecember 18, 2020

首先,我要说明一下,下面内容不是必须品,如果各位大神喜欢手写也是可以的,你也可以选择自带的功能来缩减你的代码量,提高效率!

第一步 系统配置用户表

首先,在models中创建用户表,导包

from django.contrib.auth.models import AbstractUser

#创建用户表
class User(AbstractUser):
	username = models.CharField(max_length=200,unique=True)
	password = models.CharField(max_length=200)

	class Meta:
		db_table = 'user'

在settings中指定系统验证使用的表(models)

AUTH_USER_MODEL = "表所在的应用名.表名"
如:        应用名 表名
AUTH_USER_MODEL = "myapp.User"

配置完成后,便可以迁移数据库了

通过Django自带的AbstractUser,可以自动创建一些用户表所需的字段,如下图:

Django自带的用户验证系统实现

第二步 用户注册和登陆验证功能

from django.contrib.auth import authenticate

class UserView(APIView):

	def post(self,request):
		#创建新用户
		User.objects.create_user(username='小明',password='123')
		return Response({'code':200})

	def get(self,request):
		#验证用户信息
		result = authenticate(username='小明',password='123')
		return Response({'code':200})

可以通过create_user给你的用户表添加新用户,通过authenticate验证用户是否存在,如果存在 result的值为username,否则为None

上面的Demo仅仅做为演示,具体功能可以根据自己的需求添加

到此这篇关于Django自带的用户验证系统实现的文章就介绍到这了,更多相关Django 用户验证内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实时获取cmd的输出
Dec 13 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python端口扫描简单程序
Nov 10 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Django的性能优化实现解析
Jul 30 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
python对象销毁实例(垃圾回收)
Jan 16 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
Python 实现集合Set的示例
Dec 21 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 #Python
python 爬虫爬取京东ps4售卖情况
Dec 18 #Python
python实现视频压缩功能
Dec 18 #Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 #Python
python 实现全球IP归属地查询工具
Dec 18 #Python
MoviePy简介及Python视频剪辑自动化
Dec 18 #Python
Python非单向递归函数如何返回全部结果
Dec 18 #Python
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
window.onload使用指南
2015/09/13 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
微信小程序实现底部弹出模态框
2020/11/18 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
Python中的字典遍历备忘
2015/01/17 Python
Python psutil模块简单使用实例
2015/04/28 Python
Python运算符重载用法实例
2015/05/28 Python
python中abs&map&reduce简介
2018/02/20 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
实例详解Python模块decimal
2019/06/26 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
python之生成多层json结构的实现
2020/02/27 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
家长会邀请书
2014/01/25 职场文书
入党自我评价优缺点
2014/01/25 职场文书
工程质量承诺书范文
2014/03/27 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
2014年加油站工作总结
2014/12/04 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
Ruby处理CSV数据方法详解
2022/04/18 Ruby