Dev*_*vin 18 python jinja2 pyramid
我无法弄清楚如何使用Jinja2修改包含模板中的块.这是我使用三个文件的示例.
base.html文件:
<html>{% include "content.html" %}</html>
Run Code Online (Sandbox Code Playgroud)
content.html:
<h1>{% block title %}Title{% endblock title%}</h1>
<div>{% block content_body %}Content Body{% endblock content_body%}</div>
Run Code Online (Sandbox Code Playgroud)
story.html
{% extends "base.html" %}
{% block title %}story.title{% endblock title %}
{% block content_body %}story.description{% endblock content_body %}
Run Code Online (Sandbox Code Playgroud)
渲染story.html时,我会得到:
<html>
<h1>Title</h1>
<div>Content Body</div>
</html>
Run Code Online (Sandbox Code Playgroud)
如何使用预期值进行渲染?
Ale*_*ega 13
base.html未呈现,因为它不是由任何模板调用的.您可以做的是第二级扩展:
base.html文件:
<html>{% block html %}{% endblock %}</html>
Run Code Online (Sandbox Code Playgroud)
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 %}
Run Code Online (Sandbox Code Playgroud)
不过,这可能是矫枉过正,你可能会发现一个基本模板是足够的(即合并base.html和content.html成一个单一的模板).
| 归档时间: |
|
| 查看次数: |
14887 次 |
| 最近记录: |