本文實例講述了Django自定義認證方式。分享給大家供大家參考,具體如下:
創建登錄應用
首先創建一個新的login app,用來存放認證用到代碼
python manage.py startapp login
修改settings.py中的認證項
AUTHENTICATION_BACKENDS = ( 'login.auth.UsernamePasswordAuth',)
自定義認證類
在login app下創建auth.py文件,內容如下
#coding:utf-8from django.contrib.auth.models import Userclass UsernamePasswordAuth(object):  def authenticate(self, username=None, password=None):    print("UsernamePasswordAuth.authenticate")    try:      user = User.objects.get(username__iexact=username)      if user.check_password(password):        return user    except User.DoesNotExist:      return None  def get_user(self, user_id):    print("UsernamePasswordAuth.get_user")    try:      user = User.objects.get(pk=user_id)      return user    except User.DoesNotExist:      return None更多關于Python相關內容感興趣的讀者可查看本站專題:《Python Socket編程技巧總結》、《Python URL操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答