gpt4 book ai didi

python - Jinja2 继承与 block 和包含

转载 作者:IT老高 更新时间:2023-10-28 21:04:13 29 4
gpt4 key购买 nike

我不知道如何使用 Jinja2 从包含的模板中修改 block 。这是我使用三个文件的示例。

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>

如何使用预期值进行渲染?

最佳答案

base.html 没有被渲染,因为它没有被任何模板调用。您可以做的是第二级扩展:

base.html:

<html>{% block html %}{% endblock %}</html>

content.html:

{% extends "base.html" %}
{% block html %}
<h1>{% block title %}Title{% endblock title%}</h1>
<div>{% block content_body %}Content Body{% endblock content_body%}</div>
{% endblock %}

不过,这可能有点过头了,您可能会发现一个基本模板就足够了(即将 base.htmlcontent.html 组合成一个模板) .

关于python - Jinja2 继承与 block 和包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245708/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com