最初我的Django项目中只有一个应用程序,模板由index.html和detail.html以及layout.html组成......索引和详细文件扩展了布局。他们都住在同一个目录( [app1] / templates / [app1] / ),它可以找到所有文件。
现在我有了第二个应用程序,我想重新使用layout.html ...我决定在django项目的基础上创建一个模板目录,并将其放在那里。这就是我的目录结构现在的样子:
<basepath>/<django_project>/templates/shared
<basepath>/<django_project>/<app1>/templates/<app1>
<basepath>/<django_project>/<app2>/templates/<app2>
我更新了我的settings.py:
TEMPLATE_DIRS = (
'/full/path/to/<django_project>/<app1>/templates',
'/full/path/to/<django_project>/<app2>/templates',
'/full/path/to/<django_project>/templates',
)
在'shared'目录中,我有app.html或app2模板dirs的layout.html ...,我有index.html和文件顶部的'extends'行:
{% extends "shared/layout.html" %}
但是,当我尝试加载应用视图时,会收到错误,无法找到shared / layout.html
TemplateSyntaxError at /
Caught TemplateDoesNotExist while rendering: shared/layout.html
我缺少什么想法?这应该是相当简单的,我必须忽略一些非常明显的东西?
答案 0 :(得分:0)
我的坏!我以为我在Nginx后面运行它,所以我重新启动它并且仍然遇到问题。重新检查后,我意识到我在Apache后面运行,重新启动Apache更新了我的TEMPLATE_DIRS,现在它可以运行了!