2012-07-07 30 views
2

這個問題有點類似於this one,除了一個小的變化 -Django - 包含模板中的塊標記不起作用 - 爲什麼?

我在parent.html塊標記,有的填充在調用模板,在模板中包含的一些人。包括的不起作用。例如:

#parent.html 
<head>{% block head %}Parent head {% endblock %} </head> 
<body> {% block body %} Parent body {% endblock %} 
</body> 

#include.html 

{%block body %} Child body {% endblock %} 

#child.html 
{% extends 'parent.html' %} 

{% block head %} 
Child head 
{% endblock %} 

{% include 'include.html' %} 

但是這給輸出:

兒童頭部 兒童身體

任何變通辦法:所需的 兒童頭部 母體

intsead?

回答

2

此:

{% include 'include.html' %} 

不包括在任何模塊,並不會被渲染,因爲你在響應看到。

修改以這種方式你child.html:

#child.html 
{% extends 'parent.html' %} 

{% block head %} 
Child head 
{% endblock %} 

{% block body %} 
    {% include 'include.html' %} 
{% endblock %} 

如果要定義在兩個child.html和include.html一些HTML,那麼你應該有:

#child.html 
{% extends 'parent.html' %} 

.... 

{% block body %} 
    {% include 'include.html' %} 
    some child html... 
{% endblock %} 

在include.html:

{% block body %} 
    {{ block.super }} 
    some include html... 
{% endblock %} 

這將使:

some child html 
some include html 
+0

我在考慮製作一個footer.html,它有一個{%block footer%}頁腳{%endblock%},可以使用包含標記插入任意模板中的「插入」在某種程度上,免維護(每次都不需要提及哪個塊)以及多用途包含。猜測用Django是不可能的。 – SiddharthaRT 2012-07-08 18:34:00

相關問題