Я использую Jinja2 в качестве механизма шаблона для статического HTML-сайта, созданного с помощью Python script.
Я хочу повторить содержимое блока в шаблоне макета, который выглядит примерно так:
<html>
<head>
<title>{% block title %}{% endblock %} - {{ sitename }}</title>
</head>
<body>
<h1>{% block title %}{% endblock %}</h1>
<div id="content">
{% block content %}{% endblock %}
</div>
</body>
</html>
Этот шаблон будет расширен в шаблоне страницы, который выглядит следующим образом:
{% extends "layout.html" %}
{% block title %}Page title{% endblock %}
{% block content %}
Here goes the content
{% endblock %}
Однако это не работает так, как я ожидал, что привело к ошибке:
jinja2.exceptions.TemplateAssertionError: block 'title' defined twice
Jinja интерпретирует второй {% block title %}
в layout.html как переопределение блока.
Как я могу повторить содержимое блока в том же шаблоне с помощью jinja2?