python - jinja2 模板 .generate() 与 .render() 方法
问题描述
Template.generate()
考虑使用方法的以下实现:
from jinja2 import Template
template_data = '''\
{%- for variable in range(1, 3) -%}
foo{{ variable }}bar
{% endfor %}
'''
template = Template(template_data)
for rendered in template.generate():
print(rendered)
输出:
foo
1
bar
foo
2
bar
请注意,Template.generate()
方法的行为与Template.render()
:
from jinja2 import Template
template_data = '''\
{%- for variable in range(1, 3) -%}
foo{{ variable }}bar
{% endfor %}
'''
template = Template(template_data)
rendered = template.render()
print(rendered)
输出:
foo1bar
foo2bar
为什么Template.generate()
方法是在jinja2 的打印语句newline
之前和之后添加一个?可以通过Enviroment
选项配置此行为吗?我在这里错过了什么吗?
解决方案
推荐阅读
- r - 将 R DataFrame 插入 SQL Server 表
- swift - 使用ios app swift在firebase中创建子节点时出错
- scala - scala.collection.immutable.List[Int] 与自定义 List 构造函数 List[Int]
- json - Json.NET - JsonConvert.DeserializeObject is adding characters to string
- wordpress - WP: setting with_front to false and removing post type slug
- javascript - Accessing http request objects outside the functions scope in Node.js
- javascript - How for each field do the validation from the server to the vue?
- coq - 证明关系没有充分根据
- android - 更改移动应用程序的主屏幕位置
- docker - Filebeat 不会将日志发送到 logstash