6

私はまだ Django を使い始めたばかりで、組み込みのビューの使い方についていくつか質問があります。djang には、django.contrib.auth.views.password_change にパスワード変更ビューが組み込まれていることに気付きました。このビューは、テンプレートの背景にある管理サイトを示していますが、独自の css/テンプレートを提供したいが、そのビューのフォームと機能は維持したいと考えています。どうすればいいですか?urls.py に何かを渡すことはできますか

r'password_change/$', 'django.contrib.auth.views.password_change')

カスタム テンプレートのような?これを行う適切な方法がわかりません。

4

3 に答える 3

11

template_name引数を設定することで、使用するテンプレートを指定できます。

(r'password_change/$', 'django.contrib.auth.views.password_change', {'template_name': 'path/to/password_reset.html'})

{{ form }}テンプレートで、提供されたテンプレート変数を使用していることを確認してください。

于 2012-12-04T21:06:23.067 に答える
6

Django は最初にアプリケーションからテンプレートを読み込もうとし、次にフォールバックします。したがって、contrib.auth のテンプレートをオーバーライドするには、次のことを行う必要があります。

  1. authテンプレート ディレクトリにある名前のディレクトリを作成します。
  2. 組み込みビューがロードすることを期待しているのと同じ名前のテンプレートを作成します。
  3. ステップ3はありません。
于 2012-12-04T21:03:56.390 に答える
0

また、成功した変更への URL を次のように指定することもできます。

url(r'^password/$', 'django.contrib.auth.views.password_change', {'post_change_redirect' : '/password-changed/','template_name': 'password.html'},),
于 2014-10-02T21:34:49.070 に答える