Django|パスワード変更画面をカスタマイズする

Djangoのパスワード変更画面は、以下のような画面になっています。

パスワードの変更画面はDjangoプロジェクトのurls.pyでdjango.contrib.auth.urlsを読み込むことで表示させることができます。
たとえば、django_project/urls.pyで以下のように書いたとすると、

urlpatterns = [
    path('admin/', admin.site.urls),
    path('users/', include('django.contrib.auth.urls')),
]

http://127.0.0.1:8000/users/password_change/でデフォルトのパスワード変更画面が表示されます。

デザイン上の理由で、パスワードの変更画面を変更したい人もいると思います。
そういうときはtemplates/registration/以下にpassword_change_form.htmlを作成してください。

たとえば、password_change_form.htmlを以下のように書いたとします。

<!-- templates/registration/password_change_form.html -->
<!DOCTYPE html>
<html>
  <head>
    <title>パスワード変更</title>
  </head>
  <body>
    <h1>パスワードを変更します。</h1>
    <form method="post">
      {% csrf_token %}
      {{ form.as_p}}
      <input type="submit" value="パスワードを変更する">
    </form>
  </body>
</html>

それからhttp://127.0.0.1:8000/users/password_change/を開くと、以下のような画面が表示されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です