一些小技巧

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", # 滑动令牌刷新序列化器
}
posted @ 2025-01-03 21:31  喝茶看狗叫  阅读(7)  评论(0编辑  收藏  举报