所以我试着考虑一个登录用户说的情况,打开2个标签,并在一个标签中注销我的网站,但是在另一个标签中,因为他们仍然“登录”,并且他们尝试单击提交POST数据的按钮,我的视图中的函数应检测到用户未经过身份验证,并应将其重定向到登录页面。但是,我似乎无法让这个工作。我做了很多测试,我知道我的情况正在得到正确验证,但重定向不会发生。下面是我视图中表单和代码的代码。
<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
我尝试使用我的设置文件中指定的登录网址等硬编码网址,但似乎没有做任何事情。我认为这都是因为空行动=“”部分,但我认为这不是原因。
答案 0 :(得分:2)
对我而言似乎是login_required
装饰者的完美任务:https://docs.djangoproject.com/en/1.5/topics/auth/default/#the-login-required-decorator