【发布时间】:2012-03-03 23:31:59
【问题描述】:
我不知道如何使用 Jinja2 从包含的模板中修改块。这是我使用三个文件的示例。
base.html:
<html>{% include "content.html" %}</html>
content.html:
<h1>{% block title %}Title{% endblock title%}</h1>
<div>{% block content_body %}Content Body{% endblock content_body%}</div>
故事.html
{% extends "base.html" %}
{% block title %}story.title{% endblock title %}
{% block content_body %}story.description{% endblock content_body %}
渲染story.html时,我会得到:
<html>
<h1>Title</h1>
<div>Content Body</div>
</html>
如何使用预期值进行渲染?
【问题讨论】:
-
您应该在 Jinja2 中查看 宏。我认为这个SO question 与您的查询有关。
-
当你需要他时,@ArminRonacher 在哪里 - 我感觉这是由
include "content.html"覆盖story中同名块的内容引起的,即使story覆盖 @987654329 @ - 但我在文档中没有看到任何表明这是可以预期的。