本文主要介绍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”
来源:oschina
链接:https://my.oschina.net/u/4291852/blog/4040415