django问题:如何使用POST方法传递list参数?

时间:2011-01-02 23:28:47

标签: django django-templates django-views

假设我要传递的参数名为printdataprintdata=['a', 'b', 'c']

我使用"input type="hidden" name="alist" value={{printdata}}>"来传递 参数。但是,当我尝试检索参数时 views.py使用以下代码:

params = request.POST

params["alist"]等于['a',而不是['a', 'b', 'c']。我怀疑 django使用,标识参数的结尾。

您是否有任何建议或任何其他方法来传递参数?

4 个答案:

答案 0 :(得分:6)

在HTML中使用多个隐藏字段,每个值一个:

<input type="hidden" name="alist" value="1" />
<input type="hidden" name="alist" value="2" />
<input type="hidden" name="alist" value="3" />

在服务器端,使用request.POST.getlist将所有值读取为列表:

alist = request.POST.getlist('alist')
# 'alist' now contains ['1', '2', '3']

答案 1 :(得分:0)

确保在HTML中的列表字符串周围加上引号。即:

<input type="hidden" name="alist" value="{{printdata}}">

答案 2 :(得分:0)

使用

request.POST.getlist('alist')

获取值。

答案 3 :(得分:0)

alist = request.POST.get('alist')