Jinja 动态嵌套变量

Jinja dynamically nested variables

所以我试图在 url_for 中嵌套 2 个变量来提取特定人物的照片。 这是我的代码

<img
  class="imgContainer"
  src="{{ url_for('static', filename='players/_{{player.username}}_.png') }}"
  />

我的图片格式为“用户名.png”,所以我在开头和结尾都加上了“_”。

这是其中的 Python 部分:

@app.route("/<username>")
def player(username):
    player = Player.query.filter_by(username=username).first()    
    return render_template("player.html",player=player)

我尝试了什么:

设置您的 url_for 时,它已包含在 {{ }} 中。所以,你可以像这样分解你的字符串+变量:

<img class="imgContainer"
    src="{{ url_for('static', filename='players/_' ~ player.username ~ '_.png') }}" />

请注意在 {{ }} 语法中使用 ~ 连接变量和字符串。使用 ~ 将首先将您的值转换为字符串。如果你知道你的变量类型,你可以使用 +.

您可以像在 Python 中一样使用 + 连接字符串。

之前:

src="{{ url_for('static', filename='players/_{{player.username}}_.png') }}"

之后:

src="{{ url_for('static', filename='players/' + player.username + '.png') }}"