如何在Django中接收文本框数组的发布值?

问题描述

| 我有这样的文本框数组
<input type=\"text\" value=\"\" name=\"key[]\" />
<input type=\"text\" value=\"\" name=\"key[]\" />
<input type=\"text\" value=\"\" name=\"key[]\" />
在python中访问发布的值
keys = postDict[\'key[]\']
当我打印变量键的值时,它仅打印最后一个文本框值。如何以列表或数组的形式接收发布的值。 问题 问题是单击名为MORE的按钮时,我会使用名称键将文本框附加到div。窗体未发布运行时生成的文本框值。     

解决方法

        不要将字段称为
key[]
。那是一种PHP主义。 使用
request.POST.getlist(\'key\')
获取所有值。     ,        正如Daniel所说,使用request.POST.getlist(\'key \')获取所有值。但是,从您的评论看来,您想要获取其数据的字段的名称对于所有元素而言都是相同的,在这种情况下,.getlist()仅返回它可以使用的最后一个字段。 (.get()也会发生同样的情况)。 因此,Django正在接收您想要的原始数据,但是由于密钥冲突而在尝试对其进行.get()时会对其进行压缩。 有什么阻止您为每个文本输入使用不同的名称的吗?如果没有的话,我会沿着那条路线走,因为总体上比较精明。 PS-您示例中的PHPism让我觉得您对Django来说还很陌生。如果是这种情况,请查看Django表单库的出色指南