首页 文章

TemplateDoesNotExist at / accounts / login / error

提问于
浏览
1

我收到一个错误:

在/ 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 回答

  • 0

    错误消息中的路径名在 login/ 之后显示一个空格字符 - 这可能不包含在实际文件名中,因此文件可以't be found. In one case it'是正常空间,而另一个文件's a Unicode ' IDEOGRAPHIC SPACE ' (U+3000). I don'看看它来自何处你的源代码 .

  • 2

    检查你所有的文件夹名称你把同样的错误我也收到了 . 我错误地放模板而不是模板 . Django默认采用模板文件夹,而不仅仅是模板或任何其他名称 . 这解决了我的问题 .

  • 0

    为我工作添加:

    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    

    注意删除浏览器缓存 .

相关问题