如果用户试图访问页面,我希望将其重定向到登录页面,但状态代码为401(未授权)。这样地:
if not 'logged_user' in request.session: return redirect('mqr_admin:login', status=401)
但是 redirect() 函数没有 status 参数作为函数 render() 有。我该怎么办?
redirect()
status
render()
这不是你能做的。
在http中,重定向是代码3xx,主要是301和302。这就是浏览器知道如何进行重定向的原因。
如果返回4xx状态代码,浏览器会将其视为错误,而不是重定向。
使用 HttpResponse
HttpResponse
from django.http import HttpResponse def yourView(request): return HttpResponse('401 Unauthorized', status=401)
在这里找到了解决方案: How do I return a 401 Unauthorized in Django?