TemplateDoesNotExist at /accounts/login/ login.html


Imm尝试使用默认的django登录系统。它给了我一个错误,我的login.html模板不存在。

我的登录模板保存在根目录中>模板>注册>login.html

Imm使用自定义用户模型和令牌身份验证。。

这是我试过的>

帐户urls.py

from django.contrib.auth import views as auth_views
from django.conf.urls import url
from django.urls import path 

urlpatterns = [
path("login/", auth_views.LoginView.as_view(template_name = "login.html"), name='login'),
path("logout/", auth_views.LogoutView.as_view(), name='logout'),
]

主应用程序URL.py

from django.contrib import admin
from django.urls import path, include
from rest_framework.urlpatterns import format_suffix_patterns
from django.conf.urls.static import static
from django.conf import settings
from django.conf.urls import url
from articles.views import ArticleDetail, ArticleList
from account.views import AccountList
from rest_framework.authtoken import views

urlpatterns = [
path('admin/', admin.site.urls),
path('article/', ArticleList.as_view()),
path('article/<int:pk>/', ArticleDetail.as_view()),
path('accounts/', AccountList.as_view()),
path('accounts/', include('account.urls'))
]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
urlpatterns = format_suffix_patterns(urlpatterns)

settings.py中的模板目录#

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',
],
},
},
]

使用自定义用户模型和令牌身份验证是否会影响默认登录系统?

您必须更改template_name,所有内容都可以

template_name = "registration/login.html"

最新更新