TemplateDoesNotExist,Django具有良好的路径,但无法打开文件

时间:2018-10-28 12:08:39

标签: python django

我的Django项目有一个问题:模板引擎在正确的路径搜索,但找不到它...我尝试了一切:/ 我认为我的settings.py文件还可以:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'public',
]

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

这是我的查看代码:

from django.shortcuts import render

def enregistrement(request):
     return render(request, 'public/register.html')

我将我的register.html放在C:\ SitePetitDejs \ public \ templates \ public中(是的,路径很奇怪,但是却可以说明问题所在)

而且,当我继续http://127.0.0.1:8000/public/register时,出现“ / public / register处的TemplateDoesNotExist”错误

最奇怪的是,引擎搜索的路径是正确的:

  • django.template.loaders.filesystem.Loader:C:\ SitePetitDejs \ templates \ public \ register.html(源不存在)
  • django.template.loaders.app_directories.Loader:C:\ Users \ victo \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ contrib \ admin \ templates \ public \ register。 html(源不存在)
  • django.template.loaders.app_directories.Loader:C:\ Users \ victo \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ contrib \ auth \ templates \ public \ register。 html(源不存在)
  • django.template.loaders.app_directories.Loader:C:\ SitePetitDejs \ public \ templates \ public \ register.html(源不存在)

引擎非常模糊的行为... 也许他们没有权限? (该文件可读...) 我不知道该如何解决这个问题,希望能对我有所帮助:) 谢谢

0 个答案:

没有答案