Django自带的用户验证系统实现
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
首先,我要说明一下,下面内容不是必须品,如果各位大神喜欢手写也是可以的,你也可以选择自带的功能来缩减你的代码量,提高效率!
第一步 系统配置用户表
首先,在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,可以自动创建一些用户表所需的字段,如下图:
第二步 用户注册和登陆验证功能
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模板报TemplateDoesNotExist异常(亲测可行)