2009-08-07 5 views
26

В Jinja2, у меня есть базовый шаблон:Несколько блоков таким же именем в Jinja2

<title>{% block title %}{% endblock %} - example.com</title> 
[...] 

<h1> 
    {% block title %}{% endblock %} - example.com 
</h1> 

Jinja2, то выдает следующее сообщение:

lines = [self.message, ' ' + location] 
: block 'title' defined twice 

Это должно быть теперь ясно, что я пытаюсь сделать - иметь один и тот же заголовок в двух местах: тег TITLE и тег H1, но часть заголовка фактически предоставляется другими производными шаблонами.

Как обычно это достигается?

ответ

53

Как документально here, определяя блок создает макрос с именем блока в специальном «я» объект:

<title>{% block title %}{% endblock %} - example.com</title> 
[...] 

<h1> 
    {{ self.title() }} - example.com 
</h1> 

 Смежные вопросы

  • Нет связанных вопросов^_^