-1

最初我的 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',
)

在“共享”目录中,我有 layout.html ...来自 app1 或 app2 模板目录,我有 index.html 和文件顶部的“扩展”行:

{% extends "shared/layout.html" %}

但是,当我尝试加载应用程序视图时,它会收到一个错误,即找不到 shared/layout.html

TemplateSyntaxError at /
Caught TemplateDoesNotExist while rendering: shared/layout.html

有什么我想念的想法吗?这应该很简单,我必须忽略一些非常明显的东西?

4

1 回答 1

0

我的错!我以为我是在 Nginx 后面运行它,所以我重新启动了它,但仍然遇到问题。重新检查后,我意识到我在 Apache 后面运行,重新启动 Apache 更新了我的 TEMPLATE_DIRS,现在它可以工作了!

于 2012-07-19T14:45:59.973 回答