1

base.htmlファイル内のログインしたユーザーの名にアクセスする方法はありますか?

ナビゲーションバーに現在ログインしているユーザーを表示したいのですが、ユーザーの情報にアクセスできず、ユーザーが認証されているかどうかを正しくチェックできないため、これを実行しようとしています。

base.html内のhtml

            Hi there,

            {% if user.is_authenticated %}

                {{user.first_name}}
            {% else %}
                Stranger
            {% endif %}
4

2 に答える 2

4

request.user現在ログインしているユーザーオブジェクトを提供します。したがって、Userクラスが持つすべての属性とメソッドに完全にアクセスできます。を取得するにはfirst_name、を実行できます{{ request.user.first_name }}。フルネームを取得するには、を使用します{{ request.user.get_full_name }}

于 2012-09-08T02:24:39.593 に答える
1

を使用する場合[RequestContext][1]、デフォルトuserでテンプレートにインスタンスが含まれるため、属性{{user.first_name}}やその他の属性として使用できます。は、ビューuserでも使用できる現在認証されているユーザーと同じrequest.userになります。

RequestContextデフォルトでは、で定義されているデフォルトのテンプレートコンテキストがいくつか追加さTEMPLATE_CONTEXT_PROCESSORSれますsettings.py

あなたの見解では、あなたはそれを次のように使うことができます

#your view code
....
#send response by rendering the template and use Requestcontext while rendering template
return render_to_response('polls/detail.html', {'poll': p},
                           context_instance=RequestContext(request))

リファレンス-Djangoチュートリアル04

于 2012-09-08T05:50:20.953 に答える