本文主要介紹django中token的生成與使用。
版本:
python 3.5.2
Django 2.0.3
djangorestframework 3.7.7
創建Django項目
1.安裝django。https://docs.djangoproject.com/en/2.0/intro/tutorial01/
2.安裝djangorestframework pip install djangorestframework
配置認證模式
在settings中添加如下配置
INSTALLED_APPS = [ ...... ...... 'rest_framework.authtoken' ...... ]
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication', ) }
生成並使用Token
Note:注意使用python manage.py migrate 生成對應的表
在需要使用的地發引入
from rest_framework.authtoken.models import Token from django.contrib.auth.models import User from rest_framework import permissions
1.在代碼中創建Toke
token = Token.objects.create(user=...) print token.key
2.在接口中認證用戶
例如:
class DoingView(views.APIView): permission_classes = (permissions.IsAuthenticated,) def get(self,request): doning....
Note:使用 request.user 來獲得請求的用戶是誰。
3.前端請求參數
前端請求時需要在headers中帶上如下參數,例如
“Authorization”:“Token c4742d9de47d2cfec1dbe5819883ce6a3e4d99b”
