我正在使用Django身份验证模型。 问题是当我访问/ accounts / login时,我收到TemplateDoesNotExist:registration / login.html错误消息。现在的问题是我已经为LoginView指定了模板。
这是我的account / urls.py文件
from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
app_name = 'accounts'
urlpatterns = [
path('login/',auth_views.LoginView.as_view(template_name='accounts/login.html'), name='login'),
path('join/', views.SignupView.as_view(), name='join'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]
登录模板位于account / templates / accounts / login.html
这是模板
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
我的项目urls.py文件具有这些
path('accounts/', include('django.contrib.auth.urls')),
path('accounts/', include('accounts.urls')),
答案 0 :(得分:0)
从您的错误消息中,期望login.html文件位于您的帐户应用模板/注册目录中,例如该account / templates / registration / login.html。那应该可以解决您的问题。
此外,将这两行添加到settings.py文件的底部
LOGIN_URL ='登录' LOGOUT_URL ='登出'