質問: URLハンドラのauth_views.password_changeにextra_contextを渡す方法 私はこのようなパスワードを変更するためのURLハンドラを持っています: ``` url(r'^password/change/$', auth_views.password_change, {'template_name' : 'account/password/password_change_form.html'}, name='auth_password_change'), ``` すべてが良いですし、テンプレートが読み込まれ、パスワードの変更が期待通りに機能します。しかし、私のテンプレートは `request.user` にアクセスする必要があります。 `request` オブジェクトは、組み込みの `auth_views.password_change` ビューからデフォルトでテンプレートに渡されません。 私は、 `auth_views.password_change` のビューを別のコンテキストで渡すことができ、それがテンプレートに渡されることを知っています。私はURLハンドラでそれを行う方法を知りません。 私は `auth_views.password_change` を包む別のビューを書くことができますが、URLハンドラ内からショートカットを行う方法があるのか不思議です。 現在の `request` オブジェクトを `extra_context` として `auth_views.password_change` ビューに渡すように現在のURLハンドラを変更する方法を教えてください。
回答: 通常はurlconfで行いますが、urls.pyは要求にアクセスできないため、 `request.user` をextra_contextに渡すことはできません。 しかし、 `password_change` はすべてのビルトインビューと同様に `RequestContext` を使ってテンプレートをレンダリングします。つまり、 `user` あなたがsettings.pyの `CONTEXT_PROCESSORS` リストからそれを削除していない限り、 `django.contrib.auth.context_processors.auth`