我有像这样的文本框数组
<input type="text" value="" name="key[]" />
<input type="text" value="" name="key[]" />
<input type="text" value="" name="key[]" />
在python中将发布的值作为
访问keys = postDict['key[]']
当我打印变量键的值时,它只打印最后一个文本框值。如何以列表或数组的形式接收发布的值。
问题是,当单击名为 MORE 的按钮时,我将文本框附加到名为键的div。表单未发布运行时生成的文本框值。
答案 0 :(得分:1)
请勿调用字段key[]
。这是一个PHP主义。
使用request.POST.getlist('key')
获取所有值。
答案 1 :(得分:1)
正如丹尼尔所说,使用request.POST.getlist('key')来获取所有值。但是,从你的评论来看,听起来你试图获取数据的字段的名称对于所有元素都是相同的,在这种情况下.getlist()只返回它可以得到的最后一个。 (.get())也会发生同样的情况。
所以,Django IS会收到您想要的原始数据,但是当您尝试.get()时会因为密钥冲突而压缩它。
是否有什么阻止您为每个文本输入使用不同的名称?如果没有,我会沿着这条路走下去,因为它总体上更加健全。
PS - 你的例子中的PHPism让我觉得你对Django来说很新。如果是这种情况,请查看Django forms library
的精彩指南