如何在Django中获取POST请求的值列表?

2 投票
5 回答
8869 浏览
提问于 2025-04-16 09:19

假设我想传递的参数叫做 printdata,它的值是 printdata=['a', 'b', 'c']

我用 "input type="hidden" name="alist" value={{printdata}}>" 来传递这个参数。但是,当我在 views.py 里用下面的代码来获取这个参数时:

params = request.POST

params["alist"] 的值变成了 ['a',,而不是我想要的 ['a', 'b', 'c']。我怀疑是 django 在识别参数结束时使用了 ,

你有什么建议或者其他方法可以传递这个参数吗?

5 个回答

0

使用

request.POST.getlist('alist')

来获取这些值。

0

确保在你的HTML代码中,把列表字符串用引号括起来。比如:

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

在你的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']

撰写回答