换行符和破折号在Jinja中无法正常工作
问题内容:
我如何产生预期的输出?谢谢
神社模板
{%- for field in fields -%}
-
name: {{field}}
type: string
{%- endfor -%}
输出
-
name: operating revenue
type: string-
name: gross operating profit
type: string-
预期产量
-
name: operating revenue
type: string
-
name: gross operating profit
type: string
码
from jinja2 import Template
fields = ["operating revenue", "gross operating profit", "EBITDA", "operating profit after depreciation", "EBIT", "date"]
template_file = open('./fields_template.jinja2').read()
template = Template(template_file)
html_rendered = template.render(fields=fields)
print(html_rendered)
问题答案:
该-
删除之间的所有空格 那边
的神社的标签和第一个字符。您-
在标签的“内部”使用,因此空格被删除直到-
字符为止,单词string
之后则将两者合并在一起。删除一个或另一个。
例如,您可以删除文本开头和结尾的多余换行符,并-
从开始标记的内侧删除:
{%- for field in fields %}
-
name: {{field}}
type: string
{%- endfor -%}
演示:
>>> from jinja2 import Template
>>> fields = ["operating revenue", "gross operating profit", "EBITDA", "operating profit after depreciation", "EBIT", "date"]
>>> template_file = '''\
... {%- for field in fields %}
... -
... name: {{field}}
... type: string
... {%- endfor -%}
... '''
>>> template = Template(template_file)
>>> html_rendered = template.render(fields=fields)
>>> print(html_rendered)
-
name: operating revenue
type: string
-
name: gross operating profit
type: string
-
name: EBITDA
type: string
-
name: operating profit after depreciation
type: string
-
name: EBIT
type: string
-
name: date
type: string