Jinja2模板中变量与字符串拼接赋值问题求助
修复Jinja2变量设置的问题
嘿,我明白你碰到的麻烦了!你当前的写法是把Jinja2的模板语法直接硬塞进字符串里了,模板引擎根本不会解析字符串内部的{{ id }},只会把它当作普通文本输出,自然达不到你想要的效果。
给你两种简单的修复方案:
方案一:使用Jinja2的字符串连接符
~
这种方式是把字符串和变量直接拼接,写法如下:{% set cmd = "echo " ~ id %}当
id的值为25时,cmd就会被设置为echo 25。方案二:使用字符串格式化方法
如果你习惯用Python的格式化风格,也可以这么写:{% set cmd = "echo {}".format(id) %}或者在Jinja2 2.10及以上版本中,支持更简洁的f-string风格占位符:
{% set cmd = "echo {id}" %}
这两种方法都能让模板引擎正确解析id变量,生成你想要的命令字符串。
内容的提问来源于stack exchange,提问作者Walrus
相关产品推荐
相关产品推荐

