首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >块和包含的Jinja2继承

块和包含的Jinja2继承
EN

Stack Overflow用户
提问于 2012-02-12 09:43:12
回答 1查看 16.4K关注 0票数 18

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

base.html:

代码语言:javascript
复制
<html>{% include "content.html" %}</html>

content.html:

代码语言:javascript
复制
<h1>{% block title %}Title{% endblock title%}</h1>
<div>{% block content_body %}Content Body{% endblock content_body%}</div>

story.html

代码语言:javascript
复制
{% extends "base.html" %}
{% block title %}story.title{% endblock title %}
{% block content_body %}story.description{% endblock content_body %}

在渲染story.html时,我将获得:

代码语言:javascript
复制
<html>
<h1>Title</h1>
<div>Content Body</div>
</html>

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

EN

回答 1

Stack Overflow用户

发布于 2012-02-12 17:25:36

base.html不会被呈现,因为它不会被任何模板调用。你可以做的是第二层的扩展:

base.html:

代码语言:javascript
复制
<html>{% block html %}{% endblock %}</html>

content.html:

代码语言:javascript
复制
{% 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组合成一个模板)。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9245708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档