在django中实现登录

时间:2010-03-07 16:28:20

标签: django django-authentication

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?

2 个答案:

答案 0 :(得分:2)

您是否将user变量传递给模板上下文?显式地,还是通过上下文处理器?

答案 1 :(得分:0)

卫生署。显然我的实际模板有action="/login"但是当我在这个例子中输入它时它有一个结束斜杠,我重新添加了结束斜杠,就是这样。