Python Django-发布后重定向(但注销后) 所以我试着考虑一个登录用户有2个标签打开的情况,并且在一个标签中退出我的站点,但是在另一个标签中,因为他们仍然“登录”,并且他们试图点击一个提交帖子数据的按钮,我的功能在我的视图中应该检测到用户没有被认证,并且应该将它们重定向到登录页面。然而,我似乎根本无法让它工作。我已经做了很多测试,我知道我的情况得到了正确的验证,但是重定向没有发生。下面是表单的代码和我视图中的代码 <form method="POST" action=""> {% csrf_token %} # an input button </form> if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('django.contrib.auth.views.login')) #otherwise I check if it was request.POST etc and handle a normal request {%csrf_令牌%} #输入按钮 如果不是,则请求。用户。是否经过身份验证() 返回HttpResponseRedirect(反向('django.contrib.auth.views.login')) #否则,我会检查它是否是request.POST等,并处理正常请求

Python Django-发布后重定向(但注销后) 所以我试着考虑一个登录用户有2个标签打开的情况,并且在一个标签中退出我的站点,但是在另一个标签中,因为他们仍然“登录”,并且他们试图点击一个提交帖子数据的按钮,我的功能在我的视图中应该检测到用户没有被认证,并且应该将它们重定向到登录页面。然而,我似乎根本无法让它工作。我已经做了很多测试,我知道我的情况得到了正确的验证,但是重定向没有发生。下面是表单的代码和我视图中的代码 <form method="POST" action=""> {% csrf_token %} # an input button </form> if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('django.contrib.auth.views.login')) #otherwise I check if it was request.POST etc and handle a normal request {%csrf_令牌%} #输入按钮 如果不是,则请求。用户。是否经过身份验证() 返回HttpResponseRedirect(反向('django.contrib.auth.views.login')) #否则,我会检查它是否是request.POST等,并处理正常请求,python,django,post,redirect,Python,Django,Post,Redirect,我尝试使用设置文件中指定的登录url对url进行硬编码,但似乎没有任何效果。我想这都是因为这个空洞的动作部分但我不认为这是原因。在我看来,对于所需的登录装饰者来说,这似乎是一项完美的任务:您可能正在失去上下文,因为HttpResponseRedirect使用重定向到而不是+1代码段测试用户请求。是否经过身份验证()看起来正确,应该可以工作,但是使用login\u requireddecorator会更简单。我尝试了@login\u required(现在再次尝试以确保),并在我的设置中指定了lo

我尝试使用设置文件中指定的登录url对url进行硬编码,但似乎没有任何效果。我想这都是因为这个空洞的动作部分但我不认为这是原因。

在我看来,对于所需的
登录
装饰者来说,这似乎是一项完美的任务:

您可能正在失去上下文,因为
HttpResponseRedirect
使用
重定向到
而不是+1代码段测试
用户请求。是否经过身份验证()
看起来正确,应该可以工作,但是使用
login\u required
decorator会更简单。我尝试了@login\u required(现在再次尝试以确保),并在我的设置中指定了login\u URL,还将django.contrib.auth.views.login的URL放在my urls.py中,但不幸的是,它仍然没有做任何事情。仍然没有重定向,它只是刷新页面(现在被注销),为什么不尝试发布整个视图/URL/模板等?所以我们可以看到整个画面。