Pregunta

Estoy usando la autenticación de Django, y en la plantilla login.html, la siguiente declaración se genera un error:

{% url 'django.contrib.auth.views.login' %}

TemplateSyntaxError en / login

Atrapados NoReverseMatch mientras que la prestación:. Inversa de '' django.contrib.auth.views.login '' con los argumentos '()' y argumentos de palabra clave '{}' no encontrados

Esta URL se define en mi urls.py:

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

He instalado el sistema de autenticación:

INSTALLED_APPS = (
    'django.contrib.auth',
...
)

¿Alguna idea?

¿Fue útil?

Solución

Como de Django 1.10:

A partir de Django 1.10, ya no es posible utilizar el 'django.contrib.auth.views.login' cadena en url() o la etiqueta {% url %}.

En primer lugar, cambiar sus patrones de URL a utilizar el exigible, y el nombre del patrón de URL. Por ejemplo:

from django.contrib.auth import views as auth_views

url_patterns = [
    url(r'^login$', auth_views.login, name='login'),
]

A continuación, actualice su etiqueta url para utilizar el mismo nombre:

{% url 'login' %}

Como de Django 1.5:

Usted no necesita {% load url from future %} más, sólo tiene que utilizar la sintaxis citado ({% url 'django.contrib.auth.views.login' %}) y ya está (ver el Django 1,5 notas de la versión ).

Como de Django 1.3:

Tenga en cuenta que como de Django 1.3 (como puntos de Karen Tracey fuera debajo ), la forma correcta de solucionar este problema es añadir:

{% load url from future %}

en la parte superior de la plantilla y, a continuación, utilizar:

{% url 'django.contrib.auth.views.login' %}

Antes de Django 1.3:

A juzgar por ese mensaje de error (tenga en cuenta las dobles comillas simples alrededor de la trayectoria a la vista), supongo que la {% url ... %} tag> no quiere cotizaciones, tratar:

{% url django.contrib.auth.views.login %}

Otros consejos

La sintaxis con citas es nuevo en Django 1.3. La forma correcta para corregir el error de 1.3 avanzar sería incldue {% url carga de futuro%} en la plantilla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top