2016-11-11 98 views
2

我现在有...Django的模板块

<title> 
MyApp | {% block customtitle %}{% endblock %} 
</title> 

我想真的是为|只有出现,如果customtitle块不是空的。如果页面没有设置customtitle块,我只想在标题中看到MyApp

这是一个选项吗?如何实现它?

回答

5

更加简单定义你的基本模板是这样的:

<title> 
{% block customtitle %}MyApp {% endblock %} 
</title> 
在派生模板

{% block customtitle %} 
{{ block.super }} | Custom Title 
{% endblock %} 

block.super的存在

然后将确保MyApp的会出现在所有页面。使用block.super代替硬编码MyApp将确保将来更改基本模板不会破坏标题。

+0

关于硬编码MyApp的问题,我只是打算在基本模板中设置它。这将是超级优雅,不必把'| '也在每个派生模板中。而且它会允许该格式在基本模板中也可以更改,而不必编辑所有派生模板。 – Vishal

+0

由于基本模板没有关于派生模板的信息,因此无法完成。 – e4c5