【问题标题】:Jinja - displaying two different values in a for loopJinja - 在 for 循环中显示两个不同的值
【发布时间】:2014-08-22 03:17:38
【问题描述】:

我的目标是在遍历 for 循环时同时显示表条目的 url 路径和图像源。但是,我正在通过两个不同的键访问图像的 url 和路径。这将分别返回链接条目和图像条目。

{% for node in dictionary_list %}
            {% for key, value in node.iteritems() %}
                    {% if key == 'image' %}
                        <td></td>
                        <td><img src={{ value }}></td>
                    {% elif key == 'path' %}
                        <td></td>
                        <td><a href={{ "http://example.com"+value }}>Link</a></td>

我曾想过将路径和图像放在一个键中并解析每个键,但这对于 Jinja 来说似乎不可行。返回类似以下内容的代码是否可能?

{% for node in dictionary_list %}
            {% for key, value in node.iteritems() %}
                    {% if key == 'image_link' %}
                        <td></td>
                        <td><a href={{value1}}><img src={{value2}}></a></td>

【问题讨论】:

    标签: flask jinja2


    【解决方案1】:

    这取决于您的数据结构。最好是为每个值提供一个包含图像的urlfile_path 键的字典。我不知道你原来的dictionary_list 的结构和深度,所以这是一个最好的猜测,但你可以这样做:

    dictionary_list = {'node_name_1': {'url': 'some-image.jpg', 'file_path':'/image/path'},
                       'node_name_2': {'url': 'some-image.jpg', 'file_path':'/image/path'},
                        ... }
    

    然后您可以在 Jinja2 循环中访问它们,如下所示:

    {% for key, value in dictionary_list.iteritems() %}
      <td><a href={{value['url']}}><img src={{value['file_path']}}></a></td>    
    {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 1970-01-01
      • 2019-04-19
      • 2020-08-26
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      相关资源
      最近更新 更多