1

ログインユーザー用のアカウント設定ページを作成しようとしています。ユーザーができるべきことの 1 つは、パスワードの変更です。

私は django-registration を使用しており、デフォルトで site/accounts/password/change にパスワード変更フォームがあり、機能します。ただし、この機能を他の管理機能とともに、代わりにアカウント設定ページで利用できるようにしたいと考えています。

最初にテンプレート コードをコピーしようとしましたが、(検証を処理するために) パスワードの入力を作成するための特別なフォームが含まれているため、うまくいきませんでした。このフォームを独自のテンプレートに含める方法がわかりません。

自分のアカウント設定テンプレートでこれらのフォームを再作成するにはどうすればよいですか?

これはデフォルトのパスワード変更テンプレートです。form.oldpasswordなどを別のテンプレートで再利用したい。

4

1 に答える 1

0

Django-registrationは独自のパスワード変更ビューを実装せず、Django(django.contrib.auth.views.password_change)に含まれているものを再利用します。これは、および登録バックエンドregistration.auth_urlsに含まれているものに接続されています。defaultsimple

デフォルトでは、ビューは使用しますdjango.contrib.auth.forms.PasswordChangeForm(これはパラメーターを介してオーバーライドできpassword_change_formます)。

フォームのみを再利用する場合(もちろん、上記のフォームをカスタムビューにインポートするだけです)、ビューロジック全体が欠落していることに注意する必要があります。したがって、より複雑なビューを念頭に置いていない限り、それを再利用して、registration/password_change_form.htmlregistration/password_change_done.htmlテンプレートをオーバーライドすることを検討する必要があります。

于 2013-02-08T10:12:05.837 に答える