我正在尝试在html <img src = ...>标记中创建url_for,其中图像的文件名存储在变量中。我该怎么做?

Rob*_*rtB 2 jinja2 flask

我正在尝试为用户创建一个页面,以显示其个人资料图片,并且我已经从数据库中检索了图片文件名,并将该文件名存储为名为“ profilePic”的变量。

我已经将profilePic作为变量传递到html页面,但是如何<img>使用Jinja2的{{url_for}} 创建标签。如果我只输入图片名称,我知道该怎么做,但是在这种情况下,图片的名称因用户而异。

我试过了...

<img src="{{ url_for('static', filename='img/user/{{ profilePic }}' }}>
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它似乎无法在Jinja2中嵌套{{}}个项目。

我将如何去做呢?

Sue*_*ver 6

您可以使用以下命令在模板中执行普通的字符串连接 +

<img src="{{ url_for('static', filename='/img/user/' + profilePic) }}" />
Run Code Online (Sandbox Code Playgroud)

要么 .join

<img src="{{ url_for('static', filename='/'.join(['img', 'user', profilePic])) }}" />
Run Code Online (Sandbox Code Playgroud)