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

(编辑:jimmy 日期: 2024/12/28 浏览:2)

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

第一步 系统配置用户表

首先,在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仅仅做为演示,具体功能可以根据自己的需求添加

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。