Opened 2 years ago

Last modified 2 years ago

#34003 closed Uncategorized

PasswordResetView and PasswordResetConfirmView not discovering custom template — at Initial Version

Reported by: Brylie Christopher Oxley Owned by: nobody
Component: contrib.auth Version: 4.1
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

While defining URLs for a user password reset flow, I am using standard Django views such as PasswordResetView.

path(
    "password_reset/",
    django.contrib.auth.views.PasswordResetView.as_view(),
    name="password_reset",
),
path(
    "reset/<uidb64>/<token>/",
    auth_views.PasswordResetConfirmView.as_view(),
    name="password_reset_confirm",
),

The PasswordResetView and PasswordResetConfirmView docs say it will look for a template called registration/password_reset_form.html and "registration/password_reset_confirm.html" respectively and render that if available. When I define a template with the same name and location, the custom template is not discovered by the PasswordResetView nor PasswordResetConfirmView. Instead, the default Django Admin templates are rendered. This is despite other built in views like LoginView being able to fine conventionally named templates in the same directory.

Of note, the two problematic views are both responsible for rendering and validating forms during the password reset flow.

In order to work around the issue, I have had to move the custom template to a different template path specified via the template_name argument to the PasswordResetView:

path(
    "password_reset/",
    django.contrib.auth.views.PasswordResetView.as_view(
        template_name="accounts/password_reset_form.html",
    ),
    name="password_reset",
),
path(
    "reset/<uidb64>/<token>/",
    auth_views.PasswordResetConfirmView.as_view(
        template_name="accounts/password_reset_confirm.html",
    ),
    name="password_reset_confirm",
),

In honesty, it is very possible that I have made a typo in the file name, but I have tried multiple times with the same result.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top