我有一个看起来像这样的python字典
[{"hat": 91, "d1b": 2, "d1c": 1, "d1d": 5, "d1e": 7, "d1f": 77, "d1e": 999}
{"hat": 1, "d2b": 2, "d2c": 3, "d2d": 4, "d2e": 5, "d2f": 6, "d2e": 7}
{"hat": 1, "d3b": 2, "d3c": 3, "d3d": 4, "d3e": 5, "d3f": 6, "d3e": 7}]
我将它作为字典对象(mydict)从python传递给jinja
我尝试做的是遍历每个字典并打印出我搜索的密钥的值。并在jquery警报框中显示该节目。
$(document).ready(function() {
{% for i in mydict %}
{{ loop.index0 }}, {{a,["hat"] }}
alert( {{ hat }} );
{% endfor %}
});
当我进入我的网页时,它给我一个错误
Uncaught SyntaxError: Unexpected token &
$(document).ready(function() {
0, (Undefined, [[hat[])
alert( );
1, (Undefined, [hat])
alert( );
2, (Undefined, [hat])
alert( );
});
没有定义,也没有打印警报。
答案 0 :(得分:3)
你需要像字典一样使用python这样的调用(它不是集合):
{% for i in dict %}
{{ i['hat'] }}
{% endfor %}
集合可以作为字典访问,字典不能作为集合调用。如果是这个集合,你需要使用 i.hat ;如果是集合或字典,你需要使用 i ['hats'] 。
试着替换它:
alert( {{ hat }} );
为:
alert( {{ i['hat'] }} );