社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

使用特定状态代码在django中重定向

Bárbara Este • 5 年前 • 1696 次点击  

如果用户试图访问页面,我希望将其重定向到登录页面,但状态代码为401(未授权)。这样地:

if not 'logged_user' in request.session:
    return redirect('mqr_admin:login', status=401)

但是 redirect() 函数没有 status 参数作为函数 render() 有。我该怎么办?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47117
 
1696 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Daniel Roseman
Reply   •   1 楼
Daniel Roseman    6 年前

这不是你能做的。

在http中,重定向是代码3xx,主要是301和302。这就是浏览器知道如何进行重定向的原因。

如果返回4xx状态代码,浏览器会将其视为错误,而不是重定向。

Walucas
Reply   •   2 楼
Walucas    6 年前

使用 HttpResponse

from django.http import HttpResponse
def yourView(request):    
    return HttpResponse('401 Unauthorized', status=401)

在这里找到了解决方案: How do I return a 401 Unauthorized in Django?