当前位置: 首页 > 面试题库 >

换行符和破折号在Jinja中无法正常工作

钱雅逸
2023-03-14
问题内容

我如何产生预期的输出?谢谢

{%- 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


 类似资料:
  • 可以设置文本样式,以便在出现换行符之前添加破折号。 示例: Lorem ipsum dolor坐在那里,奉献给我们,我们的工作和伟大的礼物。我们的服务,我们的服务-------------------------------------------------------- 我爱你,我爱你,我爱你,我爱你,我爱你,我爱你,我爱你,圣骑士-------------------------------

  • 问题内容: 我有一个带有文本区域的表格。用户输入存储在数据库中的文本块。 有时,用户会从Word中粘贴包含智能引号或引号的文本。这些字符在数据库中显示为:“,”,“,”。 我应该在输入字符串上调用什么函数以 将智能引号转换为正则引号,并将破折号转换为正破折号 ? 我正在使用PHP。 更新:感谢您到目前为止的所有好评。Joel网站上有关编码的页面内容非常丰富:http://www.joelonsof

  • 因此,我试图让我的Arduino与我的Qt项目进行通信,但QSerialPort从未发出readyRead()信号。I试验 https://www.youtube.com/watch?v=AX-HhBXBzGg 我使用此代码建立了串行连接,因此我的arduino的写LED正在闪烁并且它的端口繁忙。当我定期使用函数waitForReadyRead()时,我只能执行readSerial(),这是愚蠢的

  • 我必须拆分一个包含破折号和减号的字符串。我试图根据unicode字符进行拆分(https://en.wikipedia.org/wiki/Hyphen#Unicode),仍然考虑减号与破折号字符相同。我如何解决它? 预期产出 (国家) (美国) -1个 实际输出量 (国家) (美国) //实际上,这里会打印空行,但编辑器会压缩空行 1. 我想在字符串连接期间会发生一些转换,但不确定。欢迎任何解决这

  • 问题内容: 尽管我很确定这是昨天或前一天工作的,例如,在IE10中不再起作用。我已经测试了我的浏览器,但是它不再起作用了。还有谁有相同的问题吗?或者,它永远都行不通吗? 问题答案: IE不支持输入type =“ number”,但您可以使用jQueryUISpinner小部件。它非常易于使用,并且具有许多对开发人员友好的API。

  • 问题内容: 我开始学习一些JavaScript,并且了解在命名标识符时不允许使用破折号。但是,在CSS中,ID和类通常使用破折号。 在CSS中使用破折号是否会干扰javascript交互?例如,如果我要使用。我已经尝试了一些使用getElementByID并将破折号作为div ID的名称的示例,并且它可以工作,但是我不确定在所有其他情况下是否都是这种情况。 问题答案: 在ID(或类名,如果您选择的

  • 问题内容: 如何在shell中重复n次字符?我已经阅读并尝试过此操作,但这不适用于。它引发错误。以下是我使用的确切命令: 原始发布行: 我还尝试通过转义来转义,但在这种情况下,它会重复n次。 问题答案: 这将引发错误: 在以下情况下可以正常工作: 对于其他外壳,请尝试: 问题是期望启动一个选项。在这种情况下,在Unix / POSIX实用程序中很常见,这表明不要有更多选择。