如何解决Jinja 动态嵌套变量
所以我试图在 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('static',filename='players/_[player][username]_.png') }}
{{ url_for('static',filename='players/_player[username]_.png') }}
解决方法
设置 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') }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。