1

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 ミドルウェアをロードしていません。私は一歩か二歩逃しましたか?

もう1つ、アクセスするlogout.htmlと、django管理者のログアウトページに移動しました。を作ってみましたtemplates/registration/logout.htmlが、その部分を上書きしませんでした。ん?

4

2 に答える 2

2

user変数をテンプレート コンテキストに渡していますか? 明示的に、またはコンテキストプロセッサを介して?

于 2010-03-07T17:47:33.650 に答える
0

どー。どうやら私の実際のテンプレートにはaction="/login"あったようですが、ここの例で入力すると、末尾のスラッシュがあり、末尾のスラッシュを再度追加しただけです。

于 2010-03-08T22:52:07.213 に答える