gpt4 book ai didi

python - 在我的 Web 应用程序中为架构做 302 是否可以?

转载 作者:行者123 更新时间:2023-11-28 16:54:25 25 4
gpt4 key购买 nike

比如在我的index(request)中:

def index(request):
if logged_in:
return HttpResponseRedirect("/home_profile")
else:
return HttpResponseRedirect("/login")

这样,当用户点击我的主页时...他会被适本地重定向。这是一个好的架构吗?或者这会导致缓存问题等吗?

最佳答案

重定向没问题(302 不应该导致任何缓存问题,因为 302 是临时的),但为什么您需要在 if 和 else 中都进行重定向。更好的方法是在未登录时重定向到登录页面,否则 View 应返回响应,而不是不必要地重定向,例如

def home(request):
if not logged_in:
return HttpResponseRedirect("/login?next=%s"%reverse("home"))

return HttpResponse(...)

你可以在用户需要登录的每个 View 中做同样的事情,否则做一个登录装饰器,djago auth 已经有 l ogin_required或者制作一个登录中间件,它将为每个请求执行此操作。

另请注意,我在登录后传递下一个要访问的 url,因为通常我想到达我要去的地方。

关于python - 在我的 Web 应用程序中为架构做 302 是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347074/

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