首页 > 其他分享 >一些小技巧

一些小技巧

时间:2025-01-03 21:56:57浏览次数:7  
标签:令牌 技巧 默认 framework TOKEN rest simplejwt 一些

python导出依赖包,使用pipreqs

freeze会将整个python环境中的依赖包都导出,适用于整个开发环境迁移

pip freeze > ./requirements.txt

pipreqs只会罗列当前项目中实际引入的包,适用于单个项目迁移,耗时久

pipreqs . --encoding=utf8 --force 

.gitignore不生效问题解决方法

详细说明看这个链接: https://blog.csdn.net/Saintmm/article/details/120847019

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin main

SIMPLE_JWT 中参数说明

token相关的配置 https://django-rest-framework-simplejwt.readthedocs.io/en/latest/settings.html

SIMPLE_JWT = {
"ACCESS_TOKEN_LIFETIME": timedelta(minutes=5), # 访问令牌的生命周期,即访问令牌的有效期,默认5分钟
"REFRESH_TOKEN_LIFETIME": timedelta(days=1), # 刷新令牌的生命周期,即刷新令牌的有效期,默认1天
"ROTATE_REFRESH_TOKENS": False, # 是否在每次刷新令牌时轮换刷新令牌,默认是False
"BLACKLIST_AFTER_ROTATION": True, # 是否在刷新令牌轮换后将旧的刷新令牌加入黑名单,默认是False
"UPDATE_LAST_LOGIN": True, # 是否在用户登录时更新最后登录时间,默认为false
"ALGORITHM": "HS256", # 用于签名令牌的算法,默认为HS256
"SIGNING_KEY": SECRET_KEY, # 用于签名令牌的密钥,默认为SECRET_KEY
"VERIFYING_KEY": "", # 用于验证令牌的密钥,默认为None
"AUDIENCE": None, # 令牌的受众,默认为None
"ISSUER": None, # 令牌的发行者,默认为None
"JSON_ENCODER": None, # 用于序列化令牌的JSON编码器,默认为None
"JWK_URL": None, # JSON Web Key (JWK) 的 URL,默认为None
"LEEWAY": 10, # 令牌的容差时间,即允许的时间偏差,默认为0
"AUTH_HEADER_TYPES": ("Bearer",), # 用于身份验证的请求头类型,默认为("Bearer",)
"AUTH_HEADER_NAME": "HTTP_AUTHORIZATION", # 身份验证请求头的名称,默认为 HTTP_AUTHORIZATION
"USER_ID_FIELD": "id", # 用户ID字段的名称
"USER_ID_CLAIM": "user_id", # 令牌中用户ID的声明名称
"USER_AUTHENTICATION_RULE": "rest_framework_simplejwt.authentication.default_user_authentication_rule", # 用户身份验证规则
"AUTH_TOKEN_CLASSES": ("rest_framework_simplejwt.tokens.AccessToken",), # 用于身份验证的令牌类
"TOKEN_TYPE_CLAIM": "token_type", # 令牌类型的声明名称
"TOKEN_USER_CLASS": "rest_framework_simplejwt.models.TokenUser", # 令牌用户类的名称
"JTI_CLAIM": "jti", # 令牌的JTI声明名称
"SLIDING_TOKEN_REFRESH_EXP_CLAIM": "refresh_exp", # 滑动刷新令牌过期时间的声明名称
"SLIDING_TOKEN_LIFETIME": timedelta(minutes=5), # 滑动令牌的生命周期,即滑动令牌的有效期
"SLIDING_TOKEN_REFRESH_LIFETIME": timedelta(days=1), # 滑动刷新令牌的生命周期,即滑动刷新令牌的有效期
"TOKEN_OBTAIN_SERIALIZER": "rest_framework_simplejwt.serializers.TokenObtainPairSerializer", # 令牌获取序列化器
"TOKEN_REFRESH_SERIALIZER": "rest_framework_simplejwt.serializers.TokenRefreshSerializer", # 令牌刷新序列化器
"TOKEN_VERIFY_SERIALIZER": "rest_framework_simplejwt.serializers.TokenVerifySerializer", # 令牌验证序列化器
"TOKEN_BLACKLIST_SERIALIZER": "rest_framework_simplejwt.serializers.TokenBlacklistSerializer", # 令牌加入黑名单序列化器
"SLIDING_TOKEN_OBTAIN_SERIALIZER": "rest_framework_simplejwt.serializers.TokenObtainSlidingSerializer", # 滑动令牌获取序列化器
"SLIDING_TOKEN_REFRESH_SERIALIZER": "rest_framework_simplejwt.serializers.TokenRefreshSlidingSerializer", # 滑动令牌刷新序列化器
}

标签:令牌,技巧,默认,framework,TOKEN,rest,simplejwt,一些
From: https://www.cnblogs.com/zdwzdwzdw/p/18650963

相关文章

  • 行列式的一些妙用
    我们知道\(\det(A)=\sum\limits_{p}(-1)^{\sigma(p)}\prod\limits_{i}A_{i,p_i}\),这是行列式的定义。我们定义\(A\)积和式为\(\sum\limits_{p}\prod\limits_{i}A_{i,p_i}\)。积和式的计算是NP的。但是有的时候我们可以用行列式来完成一些积和式可以完成的东西。比如最简......
  • 单链表的一些操作(c语言):插入头节点、尾节点、删除某个节点
    #include<stdio.h>#include<stdlib.h>structNode{  intdata;  structNode*Next;  /*data*/};typedefstructNodenode;node*Link;// 创建一个新的节点node*CreateNewNode(intdata){  node*NewNode=(node*)malloc(sizeof(node......
  • AIGC生图实战技巧分享
    目录引言......
  • 掌握LinkedIn营销技巧,让外贸客户主动找上门!
    LinkedIn作为全球最大的职场社交平台,聚集了超过9亿名来自200多个国家的职业人士。对于外贸企业来说,LinkedIn不仅是展示公司形象的窗口,更是精准获取高价值客户的利器。今天,我们将分享一套LinkedIn营销的实操技巧,帮助你高效开发客户,让外贸生意更上一层楼!1.打造专业的个人和公司......
  • 自己常用的一些Camstar Portal 自定义CSS
    按钮样式/**********************************************************************************************Button**********************************************************************************************/.lucas-cs-button-primary{height:32......
  • 机械臂重力补偿的一些心得
    1.一些开头废话:由于比赛需求以及备赛思路,笔者需要设计适用于特定模型的重力补偿,以达到零力控制的效果以及在机械臂出现异常时可以稳定姿态,不会直接砸下来损坏机械结构以及电机。笔者借鉴了中科大RM队伍的重力补偿思路,但又因其控制器模型不与我们控制器模型完全相同,故在此基础上做......
  • 模拟IC入门——设计反相器(二)DRC、LVS及一些常见错误
    DRC、LVS及一些常见错误在上节中,我们介绍了如何绘制方向器的版图及DRC校验,但DRC存在一些问题没有解决。本节我们先解决一下DRC一些问题然后再介绍LVS这是我们遇到的问题,以第一个为例,我们看到下面的注释:意思是GT层必须被SN或者SP包围,否则寄生电容过大我们可以点右键,highli......
  • 零基础被迫参加CTF比赛?CTF高频解题技巧与经验分享
    CTF(CaptureTheFlag)比赛中的高频解题技巧通常涵盖了以下几类技术,涉及从逆向工程、二进制漏洞利用到Web安全、密码学等多个领域。以下是一些高频解题技巧:1.逆向工程(ReverseEngineering)静态分析:通过阅读二进制文件的源代码或反编译代码(如使用......
  • 零基础被迫参加CTF比赛?CTF高频解题技巧与经验分享
    CTF(CaptureTheFlag)比赛中的高频解题技巧通常涵盖了以下几类技术,涉及从逆向工程、二进制漏洞利用到Web安全、密码学等多个领域。以下是一些高频解题技巧:1.逆向工程(ReverseEngineering)静态分析:通过阅读二进制文件的源代码或反编译代码(如使用......
  • 大语言模型提示技巧(三)-迭代式提示
    我们与大语言模型交互时,往往给出的提示过于简略,而大语言模型还没有达到能够准确猜测你意图的程度,这个时候大模型并不能立即反馈出令人满意的答复,此时,我们需要做的是对大语言模型进行迭代式提示,这个迭代可以反复推进,直至大语言模型给出了令人满意的答案。比如,某款智能灯箱产品需要......