3

すべてのページでログインおよびログアウト機能を管理できるように、django アプリケーションのすべてのテンプレートに現在のユーザー変数を提供する方法はあるのでしょうか。これは非常に一般的な方法であるため、私が見逃した明らかな解決策があるはずです。クラスについては知ってRequestContextいますが、アプリケーションのすべてのビューにクラスを追加する必要があり、非現実的です。カスタム テンプレート タグでしょうか。

4

3 に答える 3

3

このためのテンプレート コンテキスト プロセッサがあります: django.core.context_processors.auth. ドキュメントを確認してください。現在のユーザーとテンプレートの権限にアクセスできます。

于 2013-02-03T13:20:12.777 に答える
0

You can indeed use a custom tag to achieve that.
Note that by default the custom tag has no access to the request object and therefore to the user data. In order to gain access to the request you can define the custom tag with the takes_context attribute and grab the request from the context:

Something like:

@register.inclusion_tag('userdata.html', takes_context = True)
def userdata(context):
    request = context['request']
    user = request.user
    return {'user':user}
于 2013-02-03T13:09:44.013 に答える