我在
python中有一个dict,如下所示:
d = {'key1': .98,'key2': 'some_str',#... }
在这个字典中,一些键将被映射到float,而其他键将被映射到str
在我的HTML中,我正在执行以下操作:
html_dict = { {% for k,v in my_dict.items %} {{ k }}: "{{ v }}",{% endfor %} };
然而,这种方法也将浮点数包含在引号中,这是我不想要的.但是如果我不知道用引号将它们包装起来,HTML就不明白它们是字符串值.我理想地喜欢以下内容:
html_dict = { {% for k,v in my_dict.items %} {% if check_v_is_str %} {{ k }}: "{{ v }}",{% else %} {{ k }}: {{ v }},{% endif %} {% endfor %} };
解决方法
不要这样做.当已经存在Python和JS都知道的明确定义的结构(即JSON)时,您手动尝试复制JS数据结构.改用它.在视图中将dict转换为JSON,并将其传递给可以直接输出的模板.