1

一个快速的,希望是一个简单的。我正在关注http://docs.djangoproject.com/en/dev/topics/auth/上的文档,以获取一些简单的用户身份验证。我根本没有什么特殊要求,我只需要知道用户是否登录,仅此而已。我正在使用 login_required 装饰器,它的工作方式完全符合我的预期。我实际上使用 'django.contrib.auth.views.login' 作为我的登录视图,以及它们在文档中显示的确切形式:

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

<form method="post" action=".">
<table>
<tr>
    <td>{{ form.username.label_tag }}</td>
    <td>{{ form.username }}</td>
</tr>
<tr>
    <td>{{ form.password.label_tag }}</td>
    <td>{{ form.password }}</td>
</tr>
</table>

<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

我想我不明白的是为什么我可以在用户/密码字段中放入我想要的任何内容,并且我从未收到无效用户/密码组合的错误。我可以输入不存在的用户,使用正确密码的正确用户,基本上我想要的任何内容,它都会将我发送到“下一个”变量中的任何内容。这让我相信它实际上并没有做任何事情。我在登录后检查了我通过请求变量发送的内容,并且我始终显示为 AnonymousUser,即使我“成功登录”。我在这里忽略了一些明显的东西吗?好像我现在已经阅读了关于身份验证的页面 6 或 7 次。

此外,如果我以具有“员工身份”的用户身份登录,我将显示为已通过身份验证,没有任何问题。如果用户没有该状态,则它不起作用。

4

1 回答 1

0

我相信我修复了它:

对:

url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'quiz/quiz_login.html'})

错误的:

url(r'^login$', 'django.contrib.auth.views.login', {'template_name': 'quiz/quiz_login.html'})

嗯。

于 2009-03-08T18:38:37.770 回答