我在使用django身份验证时遇到了一些麻烦 我有一个使用装饰器@login_required的视图。
一旦记录,用户将进入页面,填写一些数据并使用帖子请求访问下一页,但是当尝试返回上一页时,django将再次显示登录表单。 有办法防止这种情况吗?
我正在考虑使用按钮返回会话中的帖子,所以django不会要求再次登录,但我不确定是否可以这样做。
答案 0 :(得分:2)
如果您不希望登录用户看到登录表单,我建议您将用户重定向到另一个页面,如果他们已经登录:
def login_page(request):
if request.user.is_authenticated:
return redirect('some-other-page')
[...the rest of the login-page logic goes here; pass form through via context...]
您还可以在登录页面上向登录用户显示一条消息,告诉他们已使用模板逻辑登录:
{% if request.user.is_authenticated %}
<p>You are already logged in</p>
{% else %}
<form>
{{ form }}
<input type='submit'>Submit</input>
</form>
{% endif %}