0

メインテンプレートであるmainbase.htmlのユーザーデータを操作したいと思います。

私は実際にログイン汎用ビューを使用しています。ホームページにログインすると、ユーザー情報が表示されますが、他のすべてのページuserは空白です。

私はこれについて多くのことを読みました:request、、RequestContextdjango.contrib.auth.context_processors.authはプロセッサリストに追加しました。

この変数をどこにでも表示する方法はありますか?

4

1 に答える 1

3

ふたつのやり方:

django 1.4以降を使用している場合は、ビューから戻るときに、 render()を使用できます。

def my_view(request):
    ...
return render(request, 'template.html', ctx)

古いdjangoを使用している場合、またはレンダリングアプローチが気に入らない場合は、次のように、render_to_responseを使用してRequestContextを返します。

def my_view(request):
   ...
return render_to_response('template.html', ctx, context_instance=RequestContext(request))

編集:申し訳ありませんが、実際に質問に答えるのを忘れました。上記のいずれかの方法を使用してテンプレートをレンダリングしていて、次の場合:

  • INSTALLED_APPSのdjango.contrib.auth
  • midlewareの認証
  • context_processorsの認証(デフォルトのsettings.pyファイルを見てください:https ://github.com/django/django/blob/master/django/conf/global_settings.py )

次に、{{user}}と{{user.is_anonymous}}を使用して、何が起こっているのかを把握できます。

于 2012-10-03T13:03:42.747 に答える