Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从dict烧瓶和jinja中提取值_Python_Flask_Jinja2 - Fatal编程技术网

Python 从dict烧瓶和jinja中提取值

Python 从dict烧瓶和jinja中提取值,python,flask,jinja2,Python,Flask,Jinja2,在我的模板中,我有 <p>{% for dict_item in MySQL_Dict %} {% for key, value in dict_item.items() %} {{value}} {% endfor %} {% endfor %}</p> {MySQL中dict\u项的%u\u dict%} {%表示键,dict_item.items()中的值%} {{value}} {%endfor%} {%endfor%} 哪个输出43.89

在我的模板中,我有

<p>{% for dict_item in MySQL_Dict %}
   {% for key, value in dict_item.items() %}
    {{value}}
   {% endfor %}
{% endfor %}</p>
{MySQL中dict\u项的%u\u dict%}
{%表示键,dict_item.items()中的值%}
{{value}}
{%endfor%}
{%endfor%}


哪个输出
43.8934276-103.3690243 47.052060-91.639868
?这可能吗

使用列表理解:

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


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

最简单的方法是在后端对其进行格式化,并以您想要的方式将其传递给jinja。事实上,将复杂逻辑放在后端会更好,而不是前端性能更好,在jinja的情况下,您不必传入python方法,因此它更干净。。。其他模板框架(如tornados)包括所有pythons基函数,因此您不必像下面的示例那样传入它们。另一种方法是将
str.join
len
range
方法传递给jinja e.x
join=str.join,len=len,range=range
,然后。。。我猜MySQL_Dict是一个2d数组,因此是双for循环


MySQL中dict_项的{%fordict%}//dict_项==[{},{},…]
{%表示范围内的i(len(dict_item))%}//dict_item[i]=={some object}
{{,“.join(dict_项[i][“纬度”]、dict_项[i][“经度”])}}
{%endfor%}
{%endfor%}


我认为Jinja不允许列表理解。您能提供一个dict_项目的示例吗?它看起来像是另一个dict中的值。我在任何地方都没有定义dict_项,它只在那里使用。好的,说得好。我会在后端试试。不管怎样,这就是它最终的结局。你写的代码最后给了我500个错误,顺便说一句,仅供参考:没有所有信息测试代码并不难,因为我自己无法运行,但基本逻辑仍然正确。如果你能找出上面代码的问题并进行编辑,我很乐意做出更改谢谢!我使用了您的逻辑和建议,将所有计算移到后端,然后将值传递给模板。使用Jinja模板更容易、更容易混淆。谢谢没问题:-)很乐意帮忙
<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>