(Django)如何将模板文件从app包含到模板中的base.html中

时间:2018-04-18 22:22:34

标签: django django-cms

我正在Django CMS中建立一个网站。在我的项目的模板目录中是base.html。

我正在写一个应用程序" was_this_helpful"在某些页面上添加一个对话框,供用户提供反馈。我想将was_this_helpful / templates中的文件包含到base.html中,但它说该文件不存在。

{% include 'was_this_helpful/dialog.html' %}

我的文件结构如下:

- was_this_helpful
    - templates
        - was_this_helpful
            - dialog2.html
        - dialog.html
    - required app files

我在某处读到有时候模板文件需要更深层次才能找到模板,这就是为什么我创建了dialog2.html,但它仍然没有工作。我不明白如何做到这一点。基于我所阅读的内容,它应该有效。它是不同的,因为我不在另一个应用程序,只有模板目录?

1 个答案:

答案 0 :(得分:1)

如果不了解更多,很难判断它是否是一个简单的解决方案。

您编写代码的方式,没有was_this_helpful / dialog.html - 您的was_this_helpful中只有一个dialog2.html,因此was_this_helpful / dialog2.html将成为参考路径。

我总是在模板文件夹中创建另一个文件夹,其中包含模板文件夹上方的目录名称。就像你的was_this_helpful第二个目录一样。我发现这使得扩展base.html文件变得更加容易。

你总是可以在路径调用前两个句点完成它,所以../ was_this_helpful / templates / dialog.html

如果你也没有运气,那么也有{%extends%}方法也可以完成你想要做的事情。 祝你好运!