模板没有在 django 中查看应用级模板目录?
Posted
技术标签:
【中文标题】模板没有在 django 中查看应用级模板目录?【英文标题】:template not looked at app level template directory in django? 【发布时间】:2014-05-20 07:59:39 【问题描述】:我收到此错误:
TemplateDoesNotExist at /link/
link_app/link_list.html
Request Method: GET
Request URL: http://127.0.0.1:8000/link/
Django Version: 1.6
Exception Type: TemplateDoesNotExist
Exception Value:
link_app/link_list.html
在我的link_app
中,我有一个templates
文件夹,我在其中放置了link_list.html
我还在我的setting.py
中添加了以下内容
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
我还有一个 templates
文件夹,该文件夹对于我拥有的项目(而不是应用程序)是通用的
TEMPLATE_DIRS=(os.path.join(BASE_DIR, 'templates'),)
中的settings.py
编辑:
从错误中,它似乎在寻找list_html
link_app/link_list.html
但它一定在看link_app/templates/link_list.html
项目结构:
LinkDjangoProject
link_project
link_app
templates
link_list.html
templates
manage.py
【问题讨论】:
你的 INSTALLED_APPS 中有 link_app 吗? @Greg 是的,当然,它在我的 Installed_apps 中 你的项目目录限制是什么? @frnhr:我上面已经更新了 【参考方案1】:标准项目结构(部分)是这样的:
projectname
|
|-projectname <-- settings.py, etc.
|
|-someapp
|
|-templates
|
|-someapp <-- templates that are referenced with "someapp/a_template.html" go inside this directory
|
...
我怀疑您缺少 projectname/someapp/templates
目录中的 someapp
目录。
此结构允许一个应用程序中的模板在另一个应用程序中被覆盖,前提是覆盖的应用程序位于 settings.py
中 INSTALED_APPS
列表中的原始应用程序之前
类似的目录结构也用于静态和/或媒体文件。
【讨论】:
以上是关于模板没有在 django 中查看应用级模板目录?的主要内容,如果未能解决你的问题,请参考以下文章