我有一个查询字典,我将其传递给 Django 的模板。这个查询字典可能看起来像这样:
<QueryDict: {u'VAR1': [u'val1', u'val2', u'val3'], u'VAR2': u'val4', u'VAR3': [u'val5'], u'VAR4': []}>
字典可以更大、更短,但它总是包含一个字段,其中有一个列表,并且这个列表也可以为空。
在前面的示例中,可以看到包含列表的“键值”对(“VAR1-val1_2_3”) 包含空列表的“键值”对(“VAR4-[]”)包含一个包含一项的列表(“VAR3-val5”)的“键值”对和包含一个字符串的“键值”对(“VAR2-val4”)
在模板中,我知道查询字典中所有条目的键名称
我想将 querydict 中的整个列表解析为 Javascript 变量,所以它看起来像这样:
var trial = ['val1', 'val2', 'val3']
对于键“VAR1”
或
var trial = ['val5']
对于键“VAR3”
或
var trial = []
对于键“VAR4”
取决于字典中的原始列表
我尝试了很多方法,但都没有成功,请问有什么帮助吗?
最佳答案
不要将 querydict 直接传递给模板。将其转换为 JSON 字符串:
data = json.dumps(dict(my_querydict))
(需要先将其转换为dict,以绕过querydict对多值键的特殊处理。)
现在你的 JS 可以在你的模板中访问它:
var data = {{ data|safe }};
var var1 = data.var1;
关于javascript - 解析 Django 中 querydict 字典中的整个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39768993/