Django发起post请求出错:403 2274(已解决)

用Django做cookie验证登录的时候,用了post,就出现了403报错
在这里插入图片描述
报错图如上。

解决方法如下:
1.在views.py(在项目工程里的应用中)导入模块:
from django.views.decorators.csrf import csrf_exempt

2.在接收post请求的函数前面加修饰器:
@csrf_exempt

虽然给定的参考内容未直接提及针对 /backstage/api/error 请求中 token 不存在或失效问题的解决方案,但可结合引用中涉及的认证和后台管理相关内容来推导可能的解决方法。 从引用中可知,项目通过 `getToken` 函数从服务端获取认证令牌实现用户身份验证,因此当 token 不存在或失效时,可重新调用该函数获取新的 token。示例代码如下: ```typescript // components/hms/lib/getToken.ts const endPoint = process.env.NEXT_PUBLIC_HMS_TOKEN_ENDPOINT; export const getToken = async (role: string, room_id: string): Promise<string> => { const response = await fetch(`${endPoint}api/token`, { method: 'POST', body: JSON.stringify({ role, room_id }) }); const { token } = await response.json(); return token; }; // 在处理 /backstage/api/error 请求时 const handleBackstageErrorRequest = async (role: string, room_id: string) => { try { // 尝试重新获取 token const newToken = await getToken(role, room_id); // 使用新的 token 重新发起请求 const response = await fetch('/backstage/api/error', { headers: { 'Authorization': `Bearer ${newToken}` } }); // 处理响应 const data = await response.json(); return data; } catch (error) { console.error('获取新 token 或重新请求出错:', error); } }; ``` 另外,引用中涉及到后台管理的路由和视图,可在视图层对请求进行拦截,当检测到 token 不存在或失效时,引导用户重新认证获取新 token。示例代码如下: ```python # 视图层 from django.contrib.auth.decorators import login_required from rest_framework.response import Response from rest_framework import status # 12 后台管理 @login_required def backstage(request): # 检查请求头中的 token token = request.headers.get('Authorization') if not token or is_token_invalid(token): # 假设 is_token_invalid 是验证 token 是否失效的函数 return Response({'error': 'Token 不存在或失效,请重新认证'}, status=status.HTTP_401_UNAUTHORIZED) return render(request, 'backstage/backend.html') ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值