从dict - flask和jinja中提取值

时间:2017-02-27 02:58:24

标签: python flask jinja2

在我的模板中我有

<p>{% for dict_item in MySQL_Dict %}
   {% for key, value in dict_item.items() %}
    {{value}}
   {% endfor %}
{% endfor %}</p>

哪些输出43.8934276 -103.3690243 47.052060 -91.639868如何保持值,即坐标在一起并用逗号分隔?这可能吗?

2 个答案:

答案 0 :(得分:0)

使用列表理解:

[[value for key, value in dict_item.items()] for dict_item in MySQL_Dict]

将返回每个字典中所有值的列表。

答案 1 :(得分:0)

最简单的方法是在后端对其进行格式化,并以您想要的方式将其传递给jinja。事实上,最好将复杂的逻辑放在后端而不是前端表现得更好,而在jinja的情况下,你不必传递python方法,因此它更干净...龙卷风等其他模板框架包括所有蟒蛇基函数,所以你不必像下面的例子那样传递它们。另一种方法是将str.joinlenrange方法传递给jinja ex join=str.join, len=len, range=range然后...... 并且我猜测MySQL_Dict是一个二维数组,因此循环的双重

<p>
  {% for dict_item in MySQL_Dict %} // dict_item == [{}, {}, ...]
    {% for i in range(len(dict_item)) %} // dict_item[i] == {some object}
      {{",".join(dict_item[i]["latitude"], dict_item[i]["longitude"])}}
     {% endfor %}
  {% endfor %}
</p>