gpt4 book ai didi

python - session 超时后使用 Django LoginRequiredMixin 处理 ajax 请求

转载 作者:行者123 更新时间:2023-12-01 08:29:49 25 4
gpt4 key购买 nike

其他帖子中介绍了这种情况,但在大多数情况下,解决方案已经过时,并且仅适用于基于功能的 View 。

我的问题很简单:现在,我的应用程序使用以下参数在 Django 站点上强制执行 session 超时:

SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 600

大多数 View 都使用 LoginrequiredMixin。它工作得很好,但对于 AJAX 来说显然行不通。通过互联网找到的常见解决方案是更改身份验证控制的行为以返回 403。是否可以 super LoginRequiredMixin 来为 ajax 请求执行此操作?或者也许只是放弃并在客户端完全使用 javascript 来完成此操作?

最佳答案

尝试这样

class MyView(LoginRequiredMixin, View):
def handle_no_permission(self):
if not self.request.is_ajax():
return super().handle_no_permission()
return JsonResponse({
'code': 'Auth Required',
'message': 'Session timeout!'
}, status=401)

关于python - session 超时后使用 Django LoginRequiredMixin 处理 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53957224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com