python – 使用django模板确定我是否需要HTML中的引号

我在
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,并将其传递给可以直接输出的模板.

点赞