tutorial tarantino pelicula descargar cantante canciones django

tarantino - django tutorial



django-no hay coincidencia inversa para la vista de inicio de sesiĆ³n (5)

Solo estoy probando django y siguiendo la documentación para la autenticación.

Básicamente, quiero echar un vistazo a la página del formulario de inicio de sesión de usuario, pero recibo:

Caught NoReverseMatch while rendering: Reverse for ''''django.contrib.auth.views.login'''' with arguments ''()'' and keyword arguments ''{}'' not found.

Mi archivo urls.py:

from django.conf.urls.defaults import patterns, include, url urlpatterns = patterns('''', url(r''^accounts/login/$'', ''django.contrib.auth.views.login''), )

Mi configuración.py (INSTALLED_APPS)

INSTALLED_APPS = ( ''django.contrib.auth'', ''django.contrib.contenttypes'', ''django.contrib.sessions'', ''django.contrib.sites'', ''django.contrib.messages'', ''django.contrib.staticfiles'', )

EDITAR: Me di cuenta de que estaba mirando lo que está mal. El error se produce en el archivo de plantilla:

{% if form.errors %} <p>Your username and password didn''t match. Please try again.</p> {% endif %} <form method="post" action="{% url ''django.contrib.auth.views.login'' %}"> {% csrf_token %} <table> <tr> <td>{{ form.username.label_tag }}</td> <td>{{ form.username }}</td> </tr> <tr> <td>{{ form.password.label_tag }}</td> <td>{{ form.password }}</td> </tr> </table> <input type="submit" value="login" /> <input type="hidden" name="next" value="{{ next }}" /> </form>

Específicamente para la línea:

<form method="post" action="{% url ''django.contrib.auth.views.login'' %}">


En mi opinión, un mejor archivo urls.py (para ser limpio y aún muy explícito), también actualizado para Django 1.10 sería:

from django.conf.urls import url from django.contrib.auth import views as auth_views urlpatterns = [ url(r''^accounts/login/$'', auth_views.login, name=''login'') ]

Y en la plantilla:

<form method="post" action="{% url ''login'' %}">

Tenga en cuenta que la url ahora requiere una cadena por lo que el ''login'' en la plantilla debe estar entre comillas.


Esto tiene que ver con el espacio de nombres en las direcciones URL de sus aplicaciones en el archivo project / urls.py. Una solución es eliminar el espacio de nombres y escribir cada url explícitamente, pero para este problema en particular ...

Esto debería funcionar :

<form method="post" action="{% url ''<namespace_name>:django.contrib.auth.views.login'' %}">


Intente agregar name = ''login'' como palabra clave en la url

url(r''^accounts/login/$'', ''django.contrib.auth.views.login'', name=''login''),

y luego llamando al revés (''login'').


Intente establecer el nombre para la URL y utilícelo en la etiqueta de la URL

url(r''^accounts/login/$'', ''django.contrib.auth.views.login'', name=''login''),

y en plantilla:

<form method="post" action="{% url ''login'' %}">


Prueba esto:

url(r''^accounts/login$'', ''django.contrib.auth.views.login''),

Y después de su edición:

<form method="post" action="{% url django.contrib.auth.views.login %}">

EDITAR en el archivo settings.py de django, esta línea:

APPEND_SLASH = False

le dice si su url inversa termina con barra o no. Entonces

APPEND_SLASH = True url(r''^accounts/login/'', ''django.contrib.auth.views.login'')

Debería funcionar también.