【问题标题】:Parse whole list in querydict dictionary in Django在 Django 的 querydict 字典中解析整个列表
【发布时间】:2017-02-07 16:51:12
【问题描述】:

我有一个查询字典,我将它传递给 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中所有条目的键名

我想将整个列表从 querydict 解析成一个 Javascript 变量,所以它看起来像这样:

var trial = ['val1', 'val2', 'val3'] 用于键“VAR1”

var trial = ['val5'] 用于键“VAR3”

var trial = [] 用于键“VAR4”

取决于字典上的原始列表是哪个

我尝试了很多选项,但都没有成功,请帮忙吗?

【问题讨论】:

  • 请分享您为获取 Querydict 而编写的 django 查询?

标签: javascript django parsing dictionary django-templates


【解决方案1】:

不要将 querydict 直接传递给模板。将其转换为 JSON 字符串:

data = json.dumps(dict(my_querydict))

(需要先转成dict,绕过querydict对多值键的特殊处理。)

现在你的 JS 可以在你的模板中访问它了:

var data = {{ data|safe }};
var var1 = data.var1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多