Django模板加载器不从文件系统加载模板。 TemplateDoesNotExist

时间:2016-12-06 05:17:44

标签: python django templates

操作系统:Windows 10,Django:1.10.4,Python:3.5.2

enter image description here

在上面的图像中 应列出django.template.loaders.filesystem.Loader,但未列出。

这是否意味着它没有查看应用程序目录?

我的settings.py(模板部分)

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

来自settings.py

的已安装应用部分
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我的app目录结构:

  • FOO
    • FOO
      • ...
      • urls.py
    • app_bar
      • ...
      • urls.py
    • db.sqlite3
    • manage.py

富/ urls.py

urlpatterns = [
    url(r'', include('app_bar.urls')),
    url(r'^admin/', admin.site.urls),
]

app_bar / urls.py

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

如果需要,我可以提供更多信息。

P.S。我想从我安装的某个应用中加载模板。我收到TemplateDoesNotExist错误。

1 个答案:

答案 0 :(得分:0)

  

在上图中,应列出django.template.loaders.filesystem.Loader,但未列出。{/ p>

filesystem.loader仅在DIRS设置中设置了TEMPLATES选项时才有效。并且,在您的设置中,DIRS设置为空列表。

由于APP_DIRS设置为True,因此它会尝试在INSTALLED_APPS中提到的应用中查找模板,在这种情况下django.contrib.admin。您收到错误是因为模板不存在于该目录中。

您需要检查您在django项目中的某个APPS中使用的模板。如果是,请将其包含在INSTALLED_APPS