¿Cómo usar la vista ‘password_reset’ incorporada en Django?

He establecido la siguiente entrada en el urls.py

(r'^password_reset/$', 'django.contrib.auth.views.password_reset'), 

pero una vez que voy a http://127.0.0.1:8000/password_reset/ el mensaje de error:

 NoReverseMatch at /password_reset/ Reverse for 'django.contrib.auth.views.password_reset_done' with arguments '()' and keyword arguments '{}' not found. 

Esperaba que la vista password_reset_done también saliera de la caja. Entonces, ¿qué se supone que debo hacer en esta etapa?

ACTUALIZAR

Después de probar la solución de Blair, me acerqué un paso.

     (r'^password_reset_done/$', 'django.contrib.auth.views.password_reset_done'), 

    De acuerdo con el libro ‘Desarrollo de sitios web de Django 1.0’, estas vistas integradas deben usarse fuera de la caja sin más problemas. Pero tal vez haya cambiado desde Django 1.0 … Sería genial si alguien pudiera aclarar esto. Gracias

    Finalmente he encontrado la solución. Creo que siempre hay un pequeño malentendido entre el patrón MVC y MTV. En MTV (Django), la vista representa el controlador y la plantilla representa la vista.

    Por lo tanto, si bien es cierto que las “Vistas” de cambio de contraseña vienen incorporadas de manera inmediata, el usuario aún debe generar las plantillas reales (apariencia), mientras que la forma subyacente (widget) es generada por Django automáticamente. Se pone más claro al mirar el código.

    Por lo tanto, agregue estas dos líneas a url.py

     (r'^change-password/$', 'django.contrib.auth.views.password_change'), (r'^password-changed/$', 'django.contrib.auth.views.password_change_done'), 

    Luego, en myproject / templates / registration, agregue estos dos archivos

    password_change_done.html

     {% extends "base.html" %} {% block title %}Password Change Successful{% endblock %} {% block head %}Password Change Completed Successfully{% endblock %} {% block content %} Your password has been changed successfully. Please re-login with your new credentials login or go back to the main page. {% endblock %} 

    password_change_form.html

     {% extends "base.html" %} {% block title %}Change Registration{% endblock %} {% block head %}Change Registration{% endblock %} {% block content %} 
    {{form.as_p}} {% csrf_token %}
    {% endblock %}

    introduzca la descripción de la imagen aquí

    Django necesita saber qué URL para redirigir al usuario una vez que haya completado el formulario en la página password_reset. Entonces agregue otra línea a su configuración de URL:

     (r'^password_reset_done/$', 'django.contrib.auth.views.password_reset_done'), 

    A partir de django 1.11, password_change vista de cambio de password_change está en desuso.

    En desuso desde la versión 1.11: la vista basada en la función password_change se debe reemplazar por la PasswordChangeView basada en la clase.

    Lo que funcionó para mí fue:

    En urls.py

     from django.contrib.auth import views as auth_views ... url('^account/change-password/$', auth_views.PasswordChangeView.as_view( template_name='registration/passwd_change_form.html'), name='password_change'), url(r'^account/password-change-done/$', auth_views.PasswordChangeDoneView.as_view( template_name='registration/passwd_change_done.html'), name='password_change_done'), 

    Y luego agregue el par de plantillas passwd_change_form.html y passwd_change_done.html bajo el registro .

    Tenga en cuenta que no estoy usando el nombre predeterminado, por alguna razón, cuando lo hice, fue predeterminado para las vistas de administración de django.