0

django のユーザー アカウント/ログインに問題があります。ログイン後にいくつかのことをしようとしていますが、ログインした後、Web サイトにログインしていないことが表示されます。たとえば、html タグで {{ user }} を使用すると、Anonymous User がログインしていません。コードの何が問題なのかわかりません:

ビュー.py:

def index(request):
    return render_to response({'user', request.user})

urls.py:

(r'^$', 'tickets.views.index'),
(r'^accounts/login/$', 'django.contrib.auth.views.login' ),
(r'^accounts/logout/$','django.contrib.auth.views.logout'),

login.html は基本的な django ログイン テンプレートであり、インデックスには {{ user }} が表示されています。

助けてくれてありがとう。

編集:

そこに入力しなかったテンプレートタグがあります。ログイン後にログインしたことを伝えたいです。たとえば、アカウント テストでログインした場合、{{ user }} が anonymoususer ではない場所に test が表示されるようにします。

4

3 に答える 3

0

テンプレートで次のようなことをしたいと思うでしょう:

{% if user.is_authenticated %}
  <p>Hi logged in user!</p>
{% else %}
  <p>Please login</p>
{% endif %}

ユーザーがログインしていない場合は、AnonymousUserのインスタンスを取得します。メソッドを呼び出すことで、それらが認証されているかどうかを確認できますis_authenticated()

于 2012-04-25T18:35:51.147 に答える
0

あなたの質問を読み直しました。ログインしていないときは、AnonymousUser を取得する必要があります

Django のドキュメントを参照してください。

匿名ユーザーとは、認証されていないユーザーです。つまり、有効な認証の詳細を提供していません。ただし、それは必ずしも彼らが何かをする権限がないことを意味するわけではありません。最も基本的なレベルでは、ほとんどの Web サイトは匿名ユーザーにサイトの大部分を閲覧することを許可しており、多くの Web サイトではコメントなどの匿名投稿を許可しています。

于 2012-04-25T18:31:02.363 に答える
0
  1. 設定で SESSION_ENGINE を確認してください。キャッシュバックエンドの可能性があり、キャッシュがダミーに設定されている可能性があります。
  2. MIDDLEWARE_CLASSES の「django.contrib.sessions.middleware.SessionMiddleware」を確認してください。
于 2012-04-25T18:28:39.437 に答える