【问题标题】:build jinja url_for with jinja variables [duplicate]使用 jinja 变量构建 jinja url_for [重复]
【发布时间】:2021-03-17 11:35:54
【问题描述】:

我想在我的 Python 3.7 Flask 项目中从作为 'static' 子文件夹的文件夹中提供图像。 我使用render_template('gallery.html', data=data) 渲染模板,其中data 是文件路径列表。 Gallery.html 是一个 3xn 网格的图片。

我尝试了<img src="{{ url_for({{data[0]}}) }}">,但这并没有做任何事情。只是在模板中使用{{data[0]}} 会显示文件路径。

一些也不起作用的东西:

def gallery():
   data = get_files() # returns filenames in a list
   render_template('gallery.html', data=data)

模板:

<img src="{{ url_for('static', filename='path/to/folder/{{data[0]}}' }}" >

如何构建文件路径并在带有url_for() 的html &lt;img&gt; 属性中使用它们,以便正确加载我的图像?

【问题讨论】:

  • 你期望得到什么渲染?
  • 我想要一个渲染画廊,比如 3xn 网格,如果你是这个意思?
  • 试试这个 顺便说一句,看到类似的答案stackoverflow.com/questions/46785507/…

标签: python flask jinja2 python-3.7 url-for


【解决方案1】:

对我来说正确的解决方案是:

{% for image in data %}
    <img src="{{ url_for('static', filename='images/gallery/' + image) }}" alt="">
{% endfor %}  

变量不需要任何括号或引号。

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 2014-07-22
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多