newline and dash not working correctly in jinja(换行符和破折号在 jinja 中无法正常工作)
问题描述
我怎样才能产生预期的输出?谢谢
How could I generate the expected output ? Thanks
{%- 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)
推荐答案
-
删除了 Jinja 标签的 那一侧 和第一个字符之间的所有空格.您在标签的内部"使用 -
,因此空格被删除到 -
字符和单词 string
之后,加入两个.删除其中一个.
The -
removes all whitespace between that side of the Jinja tag and the first character. You are using -
on the 'inside' of the tags, so whitespace is removed up to the -
character and after the word string
, joining up the two. Remove one or the other.
例如,您可以删除文本开头和结尾处的额外换行符,并从开始标记的内侧删除 -
:
You could remove the extra newlines at the start and end of your text for example, and remove the -
from the inside side of the opening tag:
{%- 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
这篇关于换行符和破折号在 jinja 中无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:换行符和破折号在 jinja 中无法正常工作
基础教程推荐
- 用于分类数据的跳跃记号标签 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 筛选NumPy数组 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01