Django中使用Token实现认证

自古美人都是妖i 提交于 2020-05-06 07:00:01

  本文主要介绍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”  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!