本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答