[Python] 組み込みのパスワードリセット/変更ビューを独自のテンプレートで使用する方法


Answers

この記事を強くお勧めします。

私はちょうどそれを差し込んで、それは働いた

http://garmoncheg.blogspot.com.au/2012/07/django-resetting-passwords-with.html

Question

たとえば、コンテキスト内でテンプレートファイル名を指定してurl '^/accounts/password/reset/$'django.contrib.auth.views.password_reset url '^/accounts/password/reset/$'することができますが、コンテキストの詳細を送信する必要があります。

パスワードのリセットと変更ビューのそれぞれに追加するコンテキストを正確に知る必要があります。




私は私の必要性に変わっていた私は、この2行のURLと管理者からのテンプレートを使用していた

url(r'^change-password/$', 'django.contrib.auth.views.password_change', {
    'template_name': 'password_change_form.html'}, name="password-change"),
url(r'^change-password-done/$', 'django.contrib.auth.views.password_change_done', {
    'template_name': 'password_change_done.html'
    }, name="password-change-done")



次の操作を実行できます。

  1. あなたのurlpatternsに追加する(r '^ / accounts / password / reset / $'、password_reset)
  2. あなたのテンプレートを '/templates/registration/password_reset_form.html'に入れてください
  3. あなたのアプリをINSTALLED_APPSの 'django.contrib.auth'の前に来らせる

説明:

テンプレートがロードされると、それらはsettings.pyのINSTALLED_APPS変数で検索されます。 その注文はINSTALLED_APPSの定義のランクによって決まるので、あなたのアプリは 'django.contrib.auth'の前に来るので、あなたのテンプレートはロードされています(参照: https://docs.djangoproject.com/en/dev/ref/templates/api/#django.template.loaders.app_directories.Loader : https://docs.djangoproject.com/en/dev/ref/templates/api/#django.template.loaders.app_directories.Loader )。

アプローチの動機:

  1. 私はより乾燥したいし、任意のビュー(djangoによって定義されている)のテンプレート名(彼らはすでにdjangoで定義されている)
  2. 私は最小のurl.pyが欲しい