urls.py para mi_aplicación:
urlpatterns = [ # 4 inbuilt views for password reset: # - password_reset sends the mail # - password_reset_done shows a success message for the above # - password_reset_confirm checks the link the user clicked and prompts for a new password # - password_reset_complete shows a success message for the above url(r'^password-reset/$', auth_views.password_reset, {'template_name': 'password_reset/password_reset.html', 'email_template_name': 'password_reset/password_reset_email.html', 'subject_template_name': 'password_reset/password_reset_subject.txt'}, name="password_reset"), url(r'^password-reset/done/$', auth_views.password_reset_done, {'template_name': 'password_reset/password_reset_done.html'}, name="password_reset_done"), url(r'^password-reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', auth_views.password_reset_confirm, {'template_name': 'password_reset/password_reset_confirm.html'}, name='password_reset_confirm'), url(r'^password-reset/complete/$', auth_views.password_reset_complete, {'template_name': 'password_reset/password_reset_complete.html'}, name="password_reset_complete"), #url('^password-change/', auth_views.password_change, # {'post_change_redirect':reverse_lazy('userlogout'), 'template_name':'accountmanagement.html'}, # name="passwordchange"), ]urls.py para el proyecto:
urlpatterns = [ url(r'^$', LandingPage.as_view(), name="homepage"), url(r'^my_app/', include('my_app.urls')), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) Cuando visito localhost:8000/my_app/password-reset/ obtengo mi plantilla landingpage.html en su lugar. La salida del servidor de desarrollo definitivamente muestra un solo GET a /my_app/password-reset/ , y revisé todas las urls.py de las aplicaciones del proyecto; la URL password-reset no se duplica en ningún otro lugar.
Incluso comenté el directorio TEMPLATES de esa aplicación en mi archivo de configuración para intentar forzar un TemplateDoesNotExist , y no hace nada: la vista de restablecimiento de contraseña parece ignorar el parámetro template_name que paso en el archivo de configuración de URL.
Estoy perplejo. Que podria causar esto?
Acabo de darme cuenta de que alguien más estaba trabajando en el código base. Se suponía que reset_password.html {% extends "landingpage.html" %} pero el ingeniero de interfaz reconstruyó landingpage.html sin el {% block content %} necesario para que fuera extensible, por lo tanto, solo mostraba la plantilla de la página de destino.