在我base.html
登录我放在这个:实现在Django
{% if user.is_authenticated %}
you are logged in!
{% else %}
<h3>Login</h3>
<form action="/login/" method="post" accept-charset="utf-8">
<label for="username">Username</label><input type="text" name="username" value="" id="username" />
<label for="password">Password</label><input type="password" name="password" value="" id="password" />
<p><input type="submit" value="Login →"></p>
</form>
{% endif %}
在urls.py
:
(r'^login/$', 'django.contrib.auth.views.login'),
(r'^logout/$', 'django.contrib.auth.views.logout'),
当我访问/login
我不得不做出一个login.html
文件。我创建templates/registration/login.html
:
{% extends "base.html" %}
{% block content %}
{% if form.errors %}
<p>Your username/pass didnt match</p>
{% endif %}
{% endblock %}
我没有看到用户名/密码,但我还是看到了我的意思用户还没有通过认证。
顺便说一句,我没有加载CSRF中间件。我有没有错过一两步?
另一件事,我访问logout.html
,它进入我的django管理员注销页面。我尝试制作一个templates/registration/logout.html
,但它没有覆盖该部分。人力资源管理?
我没有明确地传递'user'变量,但我没有得到任何警告,没有'用户'对象,所以我认为它正在通过一些手段。 – 2010-03-07 17:54:55
如果模板不存在,Django模板不会发出警告,它们只是默默地失败。所以,如果你没有通过它(或者,正如我所说,使用上下文处理器),它不在那里。尝试输出“{{user}}”的值来确认。 – 2010-03-07 18:18:01
说'AnonymousUser' – 2010-03-08 07:20:45