Django JWT配置使用

settings.py中配置

python 复制代码
####################################JWT KEY##################################

JWT_KEY = '%*5xpP%2xL'
####################################################################

utils.py中引用

python 复制代码
import jwt
from django.conf import settings


def encode_jwt(payload):

    string = jwt.encode(payload=payload, key=settings.JWT_KEY)
    return string

def decode_jwt(jwt_string):
    try:
        payload = jwt.decode(jwt=jwt_string, key=settings.JWT_KEY, algorithms='HS256')
        return payload
    except Exception as e:
        return False

视图函数中

python 复制代码
			user_profile = UserProfile.objects.get(username=username)
            payload = {
                'id': user_profile.pk,
                'username': username
            }
            token = encode_jwt(payload)

验证时

python 复制代码
    	jwt_decode_result = decode_jwt(request.headers.get('authorization'))
        if not jwt_decode_result:
            context = {
                'code': 30007,
                'error': '获取的地址用户并非当前用户。'
            }
            return JsonResponse(context)
相关推荐
一瞬祈望10 分钟前
PyTorch 图像分类完整项目模板实战
人工智能·pytorch·python·深度学习·分类
IvorySQL10 分钟前
PostgreSQL 中的“脏页(Dirty Pages)”是什么?
数据库·postgresql·开源
坐吃山猪16 分钟前
BrowserUse12-源码-MCP模块
python·llm·playwright·browser-use
昔时扬尘处20 分钟前
【Files Content Replace】文件夹文件内容批量替换自动化测试脚本
c语言·python·pytest·adi
咖啡の猫37 分钟前
Python字典的查询操作
数据库·python·c#
这儿有一堆花40 分钟前
2025 年免费指纹浏览器清单
数据库
smile_Iris1 小时前
Day 38 GPU训练及类的call方法
开发语言·python
嗷嗷哦润橘_1 小时前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
Smart-Space1 小时前
tkinter绘制组件(47)——导航边栏
python·tkinter·tinui
ULTRA??2 小时前
KD-Tree的查询原理
python·算法