用keyvaluevalue解析JSON(Django/python)

2024-06-25 22:47:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一份RSVP表格,被邀请者可以选择带一位客人(或2或3位)。表单的输入生成了x次,其中x是用户设置的来宾数。因此,例如,如果用户从下拉列表中选择“0”,则他们不会带来来宾,因此表单只包含1个人(他们自己)的输入。如果他们从下拉列表中选择“1”,表单将复制所有字段,但仍然只有一个路由/一个提交按钮。复制的表单字段与原始字段相同,因此表单有两个名为“name”的输入,两个名为“dinner”的输入,等等

我印刷时得到一本字典请求.POST地址:

<QueryDict: {u'restrictions': [u'None', u'Gluten'], u'name': [u'Krista', u'Joel'], u'dinner': [u'chicken', u'fish'], u'csrfmiddlewaretoken': [u'iEjxo6KgLGHZWwvaxEd6I7CUd7GTs89VGpiKwmiCP9xqXKFK096s0vboK4pPQxea']}>

在vanilla python中,我可以访问如下值:

dictionary['restrictions'][1] 

返回“面筋”。但在Django中,这个表达式返回'e'—关键字名'restrictions'的索引1处的字母。同样地

for key, val1, val2 
   print key, val1, val2 

返回“too many values to unpack”,可能是因为解包的是键名中的字母,而不是值。你知道吗

如何访问这些值?或者,有没有更好的方法根据用户的选择生成多个表单,只需一个路由和一个提交按钮?你知道吗


Tags: key用户name表单路由列表字母按钮