【问题标题】:How to concatenate int with str type in Jinja2 template?如何在 Jinja2 模板中将 int 与 str 类型连接起来?
【发布时间】:2018-06-08 16:42:03
【问题描述】:

我想在 jinja2 模板中设置一个变量,它是字符串和整数值的组合。

代码如下:

{% set the_var = 'Wan_Links.WAN_' + i + '.wan_link_type' %}

这里的“i”是一个动态值,是 int 类型的。当我运行上面的代码时,我得到以下错误: TypeError:无法连接 'str' 和 'int' 对象

预期的输出是 the_var = Wan_Links.WAN_0.wan_link_type(即 i=0)。 谁能告诉我如何完成这项工作?

【问题讨论】:

    标签: python templates jinja2


    【解决方案1】:

    您也可以使用~ 运算符:

    ~ 将所有操作数转换为字符串并将它们连接起来。 {{ "Hello " ~ name ~ "!" }} 将返回(假设名称设置为“约翰”): Hello John!.

    http://jinja.pocoo.org/docs/2.10/templates/

    【讨论】:

      【解决方案2】:

      通过添加“字符串”来完成。 正确的语法是:

      {% set the_var = 'Wan_Links.WAN_' + i|string + '.wan_link_type' %}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-21
        • 2021-10-15
        • 2020-10-11
        • 1970-01-01
        • 2019-04-15
        • 2022-01-07
        相关资源
        最近更新 更多