如何检查块是否已扩展?

时间:2014-12-18 18:57:05

标签: django-templates

以SO本身为例,标题可以设置为

<title>{% block post_name %}{% block% } - StackOverflow</title>

但是,如果未定义post_name,则标题将变为- StackOverflow且超出-

如何测试块是否已扩展,以便我可以有条件地设置-

1 个答案:

答案 0 :(得分:2)

根据子模板定义的块,无法使父模板的行为有所不同。要获得所需的输出,您必须从父模板中删除-,并在每个子模板的-块的末尾添加post_name

或者,如果您希望在某些子模板中使用- StackOverflow后缀而不在其他子模板中,则可以将StackOverflow移动到父模板的post_name块中,然后从内部引用该文本使用{{ block.super }}变量的子模板。

在父模板中:

<title>{% block post_name %}StackOverflow{% block %}</title>

在子模板中:

{% block post_name %}Title of post goes here - {{ block.super }}{% block %}