Django NoReverseMatch

Estoy creando una aplicación de inicio de sesión simple en django 1.6 (y python 2.7) y recibo un error al principio que no me permite continuar.

Esta es la url.py del sitio

from django.conf.urls import patterns, include, url
from django.contrib import admin
import login

admin.autodiscover()

urlpatterns = patterns('',
    url(r'^

Y esto es login / urls.py:

from django.conf.urls import patterns, url
from login import views

urlpatterns = patterns('',
    url(r'^

Esto es login / views, py

from django.shortcuts import render
from django.contrib.auth import authenticate

def auth(request):
    user = authenticate(username=request.POST['username'], password=request.POST['password'])
    if user is not None:
        # the password verified for the user
        if user.is_active:
            msg = "User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        # the authentication system was unable to verify the username and password
        msg = "The username and password were incorrect."
    return render(request, 'login/authenticate.html', {'MESSAGE': msg})

def index(request):
    return render(request, 'login/login_form.html')

Tengo una forma que tiene esto como acción:

{% url 'login:auth' %}

Y ahí es donde está el problema, cuando intento cargar la página, obtengo:

Reverse for 'auth' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$auth/']

Pero si configuro el patrón de url a

url(r'', views.auth, name='auth')

funciona bien, solo establece la acción como '/'.

He estado buscando una respuesta por todas partes y no entiendo por qué no funciona.

Intenté cambiar el patrón de url de inicio de sesión a url (r '^ login / $9$#39;, include ('login.urls', namespace = 'login')), y no cambió nada.

, include('login.urls', namespace='login')), url(r'^admin/', include(admin.site.urls)), )

Y esto es login / urls.py:

from django.conf.urls import patterns, url
from login import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^auth/', views.auth, name='auth'),
)

Esto es login / views, py

from django.shortcuts import render
from django.contrib.auth import authenticate

def auth(request):
    user = authenticate(username=request.POST['username'], password=request.POST['password'])
    if user is not None:
        # the password verified for the user
        if user.is_active:
            msg = "User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        # the authentication system was unable to verify the username and password
        msg = "The username and password were incorrect."
    return render(request, 'login/authenticate.html', {'MESSAGE': msg})

def index(request):
    return render(request, 'login/login_form.html')

Tengo una forma que tiene esto como acción:

{% url 'login:auth' %}

Y ahí es donde está el problema, cuando intento cargar la página, obtengo:

Reverse for 'auth' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$auth/']

Pero si configuro el patrón de url a

url(r'', views.auth, name='auth')

funciona bien, solo establece la acción como '/'.

He estado buscando una respuesta por todas partes y no entiendo por qué no funciona.

Intenté cambiar el patrón de url de inicio de sesión a url (r '^ login / $9$#39;, include ('login.urls', namespace = 'login')), y no cambió nada.

, views.index, name='index'), url(r'^auth/', views.auth, name='auth'), )

Esto es login / views, py

from django.shortcuts import render
from django.contrib.auth import authenticate

def auth(request):
    user = authenticate(username=request.POST['username'], password=request.POST['password'])
    if user is not None:
        # the password verified for the user
        if user.is_active:
            msg = "User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        # the authentication system was unable to verify the username and password
        msg = "The username and password were incorrect."
    return render(request, 'login/authenticate.html', {'MESSAGE': msg})

def index(request):
    return render(request, 'login/login_form.html')

Tengo una forma que tiene esto como acción:

{% url 'login:auth' %}

Y ahí es donde está el problema, cuando intento cargar la página, obtengo:

Reverse for 'auth' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$auth/']

Pero si configuro el patrón de url a

url(r'', views.auth, name='auth')

funciona bien, solo establece la acción como '/'.

He estado buscando una respuesta por todas partes y no entiendo por qué no funciona.

Intenté cambiar el patrón de url de inicio de sesión a url (r '^ login / $9$#39;, include ('login.urls', namespace = 'login')), y no cambió nada.

, include('login.urls', namespace='login')), url(r'^admin/', include(admin.site.urls)), )

Y esto es login / urls.py:

from django.conf.urls import patterns, url
from login import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^auth/', views.auth, name='auth'),
)

Esto es login / views, py

from django.shortcuts import render
from django.contrib.auth import authenticate

def auth(request):
    user = authenticate(username=request.POST['username'], password=request.POST['password'])
    if user is not None:
        # the password verified for the user
        if user.is_active:
            msg = "User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        # the authentication system was unable to verify the username and password
        msg = "The username and password were incorrect."
    return render(request, 'login/authenticate.html', {'MESSAGE': msg})

def index(request):
    return render(request, 'login/login_form.html')

Tengo una forma que tiene esto como acción:

{% url 'login:auth' %}

Y ahí es donde está el problema, cuando intento cargar la página, obtengo:

Reverse for 'auth' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$auth/']

Pero si configuro el patrón de url a

url(r'', views.auth, name='auth')

funciona bien, solo establece la acción como '/'.

He estado buscando una respuesta por todas partes y no entiendo por qué no funciona.

Intenté cambiar el patrón de url de inicio de sesión a url (r '^ login / $9$#39;, include ('login.urls', namespace = 'login')), y no cambió nada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta