1

私の「ルート」テンプレートには、次のようなものがあります

{% if special %}
some_special_html
{% endif %}

テンプレート変数は、special特定のビューによってテンプレートに挿入されます。

問題は、テンプレートpassword_change変数をすべて設定するためのビューが必要なことです。special

これにアプローチするための最良の方法は何ですか?

現在、password_changeビューはurls.pyから直接呼び出されます。

url(r'^change_password/$', 'django.contrib.auth.views.password_change',
    {'template_name': 'profile/password_change.html'},
    name='password_change'),
4

2 に答える 2

3

少なくともDjango1.3の時点ではpassword_change、ドキュメントには記載されていませんが、ビューには追加のコンテキストが必要です。

kwargs関数の引数を使用してビューに追加のキーワード引数を渡すことができるurlため、追加のコンテキストを取得するには、次のようにします。

url(r'^password/change/$',
    auth_views.password_change,
    {'template_name': 'profile/password_change.html'},
    name='password_change',
    kwargs=dict(extra_context={'special': 'special'}),
    ),
于 2011-08-25T01:45:46.713 に答える
0

varの処理をspecialcontext_processorに移動するか、password_change認証ビューを正しいコンテキストで渡される独自のビューでラップします。

于 2010-11-13T19:56:31.677 に答える