Django包含标签不起作用

时间:2013-09-04 16:52:00

标签: django include

我正在尝试将我的页面分成几个部分 - 其中一个用于顶级菜单,但到目前为止,我无法弄清楚如何在其余页面中包含顶级菜单模板。 {% include "top_menu.html" %}由于某种原因不起作用,我是否必须更新我的观点或smthn才能生效?

提前致谢!

3 个答案:

答案 0 :(得分:7)

我有同样的问题,并且看过很多其他类似的帖子。在我的情况下,问题是由我的外部模板{% load staticfiles %}引起的,这也是包含文件所需要的。

修复是在包含的文件中重复{% load staticfiles %}。当Django无法加载包含文件时没有给出错误消息,这个问题变得很困难,因此没有任何线索。

答案 1 :(得分:0)

我遇到了完全相同的问题。尝试将include标签放入html的body标签中。

<body>
{% include "top_menu.html" %}
 .
 .
</body>

并将load static标记保留在html之外。将其放在html之外的代码顶部。

答案 2 :(得分:0)

在 templates//like 中创建一个模板文件,并将您的 topmenu.html 移动到同一文件夹中。然后在模板中添加:

{% include 'templates/topmenu.html' %}

人们经常试图在他们的模板文件中包含代码块,例如内容块。如果你这样做,Django 将不会呈现你包含的模板或给出任何错误。