rest_framework_simplejwt自定义使用——登录功能

一、使用默认的rest_framework_simplejwt实现登录功能 
    1.1 创建django空项目 
    #创建django项目
    django-admin startproject login
   # 进入login目录
cd login
   #创建app
django-admin startapp user
   #初始化数据库,默认使用SQLit3
python manage.py makemigrations
#创建表结构
python manage.py migrate 
   # 创建超级用户账号,用户名:root,密码:root,邮箱:root@qq.com
python manage.py createsuperuser
  # 安装rest_framework和rest_framework_simplejwt
pip install rest_framework
pip install rest_framework_simplejwt
1.2 初始化项目

主要修改setting.py文件和login目录下的urls.py文件:
setting.py

INSTALLED_APPS = [
    'rest_framework',    # 新增
    'rest_framework_simplejwt' # 新增
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
    	# 设置全局权限模式,用户认证通过可访问
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
    	# 使用默认的认证类的认证方式
        'rest_framework_simplejwt.authentication.JWTAuthentication',

urls.py

from django.urls import path
from rest_framework_simplejwt.views import TokenRefreshView, TokenVerifyView, TokenObtainPairView
urlpatterns = [
    path("login/", TokenObtainPairView.as_view(), name="token_obtain_pair"),
    path("refresh/", TokenRefreshView.as_view(), name="token_refresh"),
    path("verify/", TokenVerifyView.as_view(), name="token_verify"),
]

这三个接口分别是登录、获取新的token、验证token是否有效
TokenObtainPairView.as_view(),这个接口登录成功后会返回:访问令牌和有效令牌。

urls.py

path("test/", TestView.as_view(), name="xx"),
views.py  设置
from rest_framework.views import APIView
from rest_framework.response import Response
class TestView(APIView):

    def post(self, request, *args, **kwargs):
        s = str(request.user.__dict__)
        data = {
            'status': s,
            'message': '的点点滴滴-----Hello, this is the ziapi endpoint!'
        }
        return Response(data)

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值