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

Django rest_framework 信号机制生成并使用token

1、在setting.py 中增加设置

'DEFAULT_AUTHENTICATION_CLASSES':['rest_framework.authentication.BasicAuthentication',#基本的用户名密码验证'rest_framework.authentication.SessionAuthentication','rest_framework.authentication.TokenAuthentication',# token 认证],
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','course.apps.CourseConfig','rest_framework','rest_framework.authtoken',#DRF 自带token认证
]

2、生成token 表

python manage.py makemigration
python manage.py migrate

3、写一个信号函数 使得创建用户时 自动创建token .在views.py中增加

from django.db.models.signals import post_save
from django.dispatch import receiver
#from django.contrib.auth.models import User
from django.conf import settings
from rest_framework.authtoken.models import Token#@receiver(post_save,sender = User)  Django 的信号机制
@receiver(post_save,sender = settings.AUTH_USER_MODEL)
def generate_token(sender,instance=None,created=False,**kwargs):if created:Token.objects.create(user=instance)

4、创建获取token用的路由

from django.contrib import admin
from django.urls import path,include
from rest_framework.authtoken import views
urlpatterns = [path('api-token-auth', views.obtain_auth_token),#获取token的接口path('admin/', admin.site.urls),path('api-auth/', include('rest_framework.urls')),path('course/',include('course.urls')),
]

5、使用方法  使用post 方法访问api-token-auth 方法  

{“username":"xxxx","password":"xxxxx"
}

6、获取到token .就可以使用token认证访问接口了

http://www.xdnf.cn/news/4663.html

相关文章:

  • SSH 服务部署指南
  • 学习基本乐理知识
  • 【C/C++】RPC与线程间通信:高效设计的关键选择
  • 如何使用npm下载指定版本的cli工具
  • Git查看某个commit的改动
  • 极狐GitLab 容器镜像仓库功能介绍
  • MySQL为什么默认使用RR隔离级别?
  • Spark 之 metrics
  • ubuntu yolov5(c++)算法部署
  • Linux开发工具【中】
  • 适配国产化,私有化部署的局域网即时通讯工具-BeeWorks
  • 【已解决】WORD域相关问题;错误 未找到引用源;复制域出错;交叉引用域到底是个啥
  • 一种机载扫描雷达实时超分辨成像方法——论文阅读
  • 148.WEB渗透测试-MySQL基础(三)
  • 第四章 OpenCV篇—图像梯度与边缘检测—Python
  • 详细聊聊 Synchronized,以及锁的升级过程
  • 二极管的动态特性
  • AI(学习笔记第二课) 使用langchain进行AI开发
  • Coco AI 开源应用程序 - 搜索、连接、协作、您的个人 AI 搜索和助手,都在一个空间中。
  • 【CTFer成长之路】举足轻重的信息搜集
  • 数据结构之串
  • 【PmHub后端篇】PmHub Gateway全局过滤器:接口调用耗时统计及黑白名单配置技术深度解析
  • 57.[前端开发-前端工程化]Day04-webpack插件模式-搭建本地服务器
  • XML语言
  • 企业开发平台大变革:AI 代理 + 平台工程重构数字化转型路径
  • Android单例模式知识总结
  • 02_JVM
  • Mockoon 使用教程
  • 为什么使用Less替代原始CSS?
  • 学习黑客MAC 地址