1. 程式人生 > 程式設計 >Django自帶的使用者驗證系統實現

Django自帶的使用者驗證系統實現

首先,我要說明一下,下面內容不是必須品,如果各位大神喜歡手寫也是可以的,你也可以選擇自帶的功能來縮減你的程式碼量,提高效率!

第一步 系統配置使用者表

首先,在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自帶的使用者驗證系統實現的文章就介紹到這了,更多相關Django 使用者驗證內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!