即使用户已连接,登录表单仍会显示。

3

urls.py

urlpatterns = patterns('',
    url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
)

login.html

{% if form.errors %}
    <p>Your username and password didn't match. Please try again.</p>
{% endif %}

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" />
    <input type="hidden" name="next" value="{{ next }}" />
</form>

正如您所看到的,我的代码非常基础。我正在使用Django自动视图来进行登录。基本上,如果用户进入accounts/login页面,表单将被显示,提交后,Django会自行处理所有工作。
一切都正常工作,除了已经登录的用户进入该页面时仍然会显示表单。我希望如果用户已经连接并进入该页面,则应将其重定向到另一个页面。
我该如何实现呢?
我正在使用最新版本的Python(3.3.4)和Django(1.6.2)。
1个回答

0

文档指出您应该在表单中指定action

<form method="post" action="{% url 'django.contrib.auth.views.login' %}">

你说得没错,但这并不能解决问题。如果用户已经连接,表单就不应该被显示出来。 - Deneuve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接