当前位置: 首页 > news >正文

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.pypath("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)

相关文章:

  • Hive-因精度丢失导致的 join 数据异常
  • STL用法总结
  • 简单说说我对集成学习算法的一点理解
  • 【实战教程】构建可复用的 Spring Boot starter 微服务组件
  • Android 使用kotlin Retrofit2 + Dagger2完成网络请求跟依赖注入组合使用
  • 对未知程序所创建的 PDF 文档的折叠书签层级全展开导致丢签的一种解决方法
  • Python疑难杂症--考试复习
  • c++学习----初识类和对象(上)
  • 1882java密室逃脱管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 揭秘小程序商城的团购奇迹:独特模式引领盈利新纪元
  • Python代码:二十八、密码游戏
  • 搜狐视频专访神工坊创始人任虎:以先进计算技术为引擎,引领新一代CAE革新之路
  • IC开发——VCS基本用法
  • ImportError: cannot import name ‘packaging‘ from ‘pkg_resources‘‘
  • 从CSV到数据库(简易)
  • [PHP内核探索]PHP中的哈希表
  • Angular 4.x 动态创建组件
  • C++11: atomic 头文件
  • Docker入门(二) - Dockerfile
  • JavaScript设计模式之工厂模式
  • JS函数式编程 数组部分风格 ES6版
  • Python socket服务器端、客户端传送信息
  • SQLServer之索引简介
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 解决iview多表头动态更改列元素发生的错误
  • 利用DataURL技术在网页上显示图片
  • 前端存储 - localStorage
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​2021半年盘点,不想你错过的重磅新书
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # C++之functional库用法整理
  • #传输# #传输数据判断#
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (function(){})()的分步解析
  • (poj1.3.2)1791(构造法模拟)
  • (初研) Sentence-embedding fine-tune notebook
  • (第61天)多租户架构(CDB/PDB)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (四)Linux Shell编程——输入输出重定向
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 依赖注入和配置系统
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET导入Excel数据
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .sys文件乱码_python vscode输出乱码
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?