在base.html
我放置了这个:
{% 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
,但它没有覆盖那部分。 HRM?
答案 0 :(得分:2)
您是否将user
变量传递给模板上下文?显式地,还是通过上下文处理器?
答案 1 :(得分:0)
卫生署。显然我的实际模板有action="/login"
但是当我在这个例子中输入它时它有一个结束斜杠,我重新添加了结束斜杠,就是这样。