【问题标题】:How to receive the posted values of textbox array in Django?如何在 Django 中接收文本框数组的发布值?
【发布时间】:2011-06-18 07:55:50
【问题描述】:

我有很多这样的文本框

<input type="text" value="" name="key[]" />
<input type="text" value="" name="key[]" />
<input type="text" value="" name="key[]" />

在python中访问发布的值

keys = postDict['key[]']

当我打印变量键的值时,它只打印最后一个文本框值。如何以列表或数组的形式接收发布的值。

问题

问题是当单击名为 MORE 的按钮时,我将文本框附加到名称为 key 的 div 中。表单未发布运行时生成的文本框值。

【问题讨论】:

标签: python html django


【解决方案1】:

不要调用该字段key[]。那是 PHP 主义。

使用request.POST.getlist('key') 获取所有值。

【讨论】:

  • 我仍然只获得最后一个值
【解决方案2】:

正如丹尼尔所说,使用 request.POST.getlist('key') 获取所有值。但是,从您的评论看来,您尝试获取数据的字段名称对于所有元素都是相同的,在这种情况下 .getlist() 只是返回它可以得到的最后一个。 ( .get() 也会发生同样的情况)。

所以,Django 正在接收您想要的原始数据,但是当您尝试 .get() 时因为键冲突而将其压缩。

有什么阻止您为每个文本输入使用不同的名称吗?如果没有,我会沿着这条路走,因为它总体上更理智。

PS - 你的例子中的 PHPism 让我觉得你对 Django 很陌生。如果是这种情况,请查看Django forms library 的精彩指南

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多