2011-07-11 6 views

Respuesta

5

n, busca las plantillas en un directorio "registro" dentro de su carpeta de plantillas .

A partir de los documentos:

es su responsabilidad para proporcionar la forma de inicio de sesión en una plantilla llamada de registro/login.html por defecto.

de restablecimiento de contraseña argumentos opcionales:

template_name: El nombre completo de la plantilla utilizada para mostrar la forma de restablecimiento de contraseña. Esto se establecerá de manera predeterminada en registration/password_reset_form.html si no se proporciona.

Docs: login, password_reset

+0

Recuerdo vagamente que Django tenía estas plantillas en algún lugar en línea en el sitio de Django pero no puedo desenterrarlas. Había plantillas para todas las vistas de autenticación. –

+0

Eso es interesante, de hecho nunca he escuchado o visto esto. ¿Estás seguro de que estaba en el sitio de Django, y que no estás recordando los formularios en sí? –

+0

Lo encontré. Estaban aquí: http: //devdoodles.wordpress.com/2009/02/16/user-authentication-with-django-registration /. La publicación es antigua, pero la mayoría de los formularios funcionan una vez que ha agregado el token CSRF. –

5

Puede utilizar las plantillas de autenticación en django.contrib.admin.templates.registration:

logged_out.html 
password_change_done.html 
password_change_form.html 
password_reset_complete.html 
password_reset_confirm.html 
password_reset_done.html 
password_reset_email.html 
password_reset_form.html 

Aquellos tendrá la apariencia de la Django administrador, así que yo sugeriría a personalizarlo.

+0

¿Cómo vas a agregar esto al proyecto? – Rebs

+0

Simplemente cópielos en su plantilla dir –

4

Mediante la copia de las plantillas ubicadas en django.contrib.admin.templates.registration como se ha mencionado por DZPM arriba y colocándolos en el directorio de plantillas de su propio registro de aplicación, por ejemplo, * your_proj_root/registration/templates/registration/*

¡IMPORTANTE! Si desea mantener los mismos nombres exactos de sus plantillas, usted tiene que recordar para asegurarse de que su línea de django.contrib.admin aplicación se coloca por debajo de su registro línea de aplicación; de lo contrario, utilizará django.contrib.admin como plantillas de registro.

16

Mientras que Django documentation establece explícitamente que "Django no proporciona ninguna plantilla predeterminada para las vistas de autenticación", encontré que es trivial usar las plantillas de administración. Solamente es necesario activar la aplicación de administración, a continuación, añadir esto a urls.py:

url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}), 
url('^accounts/', include('django.contrib.auth.urls')), 

todas las URL de autenticación funciona en este momento, aunque con el administrador de Django look-and-feel.

+0

'/ login' resultado en' Variable de plantilla desconocida title' - Django 1.9.2 – Rebs

+0

Compatibilidad con los argumentos de visualización de cadena en 'url()' [se ha eliminado con Django 1.10] (https://docs.djangoproject.com/en/1.11/releases/1.10/#features-removed-in-1-10). Use 'from import django.contrib.auth.views import login' y' url (r '^ accounts/login/$', login, ... 'en su lugar. – Evert

Cuestiones relacionadas