django def Token验证

Posted chenyishi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django def Token验证相关的知识,希望对你有一定的参考价值。

https://www.django-rest-framework.org/api-guide/authentication/#basicauthentication

1.INSTALLED_APPS

INSTALLED_APPS = (
    ...
    rest_framework.authtoken
)

2.REST_FRAMEWORK配置

REST_FRAMEWORK = {
    # ‘DEFAULT_PAGINATION_CLASS‘:‘rest_framework.pagination.PageNumberPagination‘,
    # ‘PAGE_SIZE‘:2,
    DEFAULT_FILTER_BACKENDS: (django_filters.rest_framework.DjangoFilterBackend,),
    DEFAULT_AUTHENTICATION_CLASSES: (
        rest_framework.authentication.BasicAuthentication,
        rest_framework.authentication.SessionAuthentication,
        rest_framework.authentication.TokenAuthentication
    )
}

3.migrate生成表

4.创建一个token

import sys
import os

pwd = os.path.dirname(os.path.realpath(__file__))
sys.path.append(pwd)
os.environ.setdefault(DJANGO_SETTINGS_MODULE, MxShop.settings)

import django
django.setup()

from rest_framework.authtoken.models import Token

from django.contrib.auth import authenticate
user = authenticate(username=admin,password=admin)
token = Token.objects.create(user=user)
print(token.key)

5.生成oken

技术图片

6.验证token

技术图片

可通过request.user查看

以上是关于django def Token验证的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError: ‘str‘ object has no attribute ‘decode‘解决方法

Django学习之Rest Framework 的Token验证功能优化详解

优化Django Rest Framework 的Token验证功能

django操作redis 登录验证token

通过 Flutter App 和 JSON Web Token 在 Django 中验证用户

Django 使用 Allauth 进行身份验证