我收到一个错误:
在/ accounts / login / registration / login.html上的TemplateDoesNotExist .
我想我应该创建login.html文件,但可能在Django中不需要默认的beahivor .
我将login.html放入帐户/模板/帐户后,错误并没有消失 . 我接下来该怎么办?
我在urls.py中写道,
from django.conf.urls import url
from django.contrib.auth.views import login, logout
urlpatterns = [
url(r'^login/$', login,
name='login'),
url(r'^logout/$', logout, name='logout')
]
在父应用程序的urls.py中,
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls')),
url(r'^api/', include('UserToken.urls')),
]
在父应用程序的settings.py的TEMPLATES中
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]
我在吹风机中发现了emplate-loader postmortem
Django尝试按以下顺序加载这些模板:
使用引擎django:django.template.loaders.app_directories.Loader:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/templates/registration/login.html (来源不存在)django.template.loaders.app_directories.Loader:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/auth/templates/registration/login .html(来源不存在)
我想也许我应该制作模板文件夹 . 现在,我创建了一个像accounts / registration / accounts / login.html这样的目录 . 我无法理解为什么错误显示管理员和auth的2种方式目录 . 我应该制作admin&auth目录吗?
3 回答
错误消息中的路径名在 login/ 之后显示一个空格字符 - 这可能不包含在实际文件名中,因此文件可以't be found. In one case it'是正常空间,而另一个文件's a Unicode ' IDEOGRAPHIC SPACE ' (U+3000). I don'看看它来自何处你的源代码 .
检查你所有的文件夹名称你把同样的错误我也收到了 . 我错误地放模板而不是模板 . Django默认采用模板文件夹,而不仅仅是模板或任何其他名称 . 这解决了我的问题 .
为我工作添加:
注意删除浏览器缓存 .