Django 2.0 – No es una función de vista válida o un nombre de patrón (Personalizando vistas de autenticación)

Estoy trabajando en un ejercicio de curso y estoy atascado por unas horas y no estoy seguro de qué está causando que la aplicación se rompa. A continuación, encontrará los archivos involucrados y quizás pueda encontrar la solución. ¡Gracias por tu ayuda!

Estructura del proyecto

Este error se está lanzando cuando inicio sesión:

Internal Server Error: /account/login/ ... django.urls.exceptions.NoReverseMatch: Reverse for 'dashboard' not found. 'dashboard' is not a valid view function or pattern name. [04/Apr/2018 17:12:15] "POST /account/login/ HTTP/1.1" 500 151978 

Al final del archivo settings.py

 from django.urls import reverse_lazy LOGIN_REDIRECT_URL = reverse_lazy('dashboard') LOGIN_URL = reverse_lazy('login') LOGOUT_REDIRECT_URL = reverse_lazy('logout') 

El archivo urls.py

     from django.contrib.auth import views as auth_views from django.urls import path from . import views app_name = 'account' urlpatterns = [ # path('login/', views.user_login, name='login'), path('', views.dashboard, name='dashboard'), # login / logout urls path('login/', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login'), path('logout/', auth_views.LogoutView.as_view(template_name='registration/logged_out.html'), name='logout'), path('logout-then-login/', auth_views.logout_then_login, name='logout_then_login'), ] 

    El archivo views.py

     from django.contrib.auth import authenticate, login from django.contrib.auth.decorators import login_required from django.http import HttpResponse from django.shortcuts import render @login_required def dashboard(request): return render(request, 'account/dashboard.html', {'section': 'dashboard'}) 

    La plantilla base.html

     {% load staticfiles %}       {% block title %}{% endblock %}     
    {% block content %} {% endblock %}

    Aprecio tu ayuda. ¡Muchas gracias!

    Has establecido un espacio de nombres para tus urls:

     app_name = 'account' 

    reverse_lazy usar ese espacio de nombres cuando invierta las URL con reverse / reverse_lazy o {% url %} :

     LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard') LOGIN_URL = reverse_lazy('account:login') LOGOUT_REDIRECT_URL = reverse_lazy('account:logout')