问题标签 [django-multiwidget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18804 浏览

django - 如何使用 Django 的 MultiWidget?

关于此功能的文档有点缺乏。

我可以看到我需要创建一个带有其他小部件列表的“小部件”属性,但之后它会得到一点福尔摩斯。

有人可以向我解释如何使用 MultiWidget 小部件吗?

0 投票
1 回答
1128 浏览

compression - django multiwidget 子类不调用 decompress()

我正在尝试为 IP 地址/域名条目实现 MultiValueField。它按预期工作以输入数据。我的问题是,如果我想显示绑定到特定数据的表单,IP 地址/域名字段保持为空。所有其他字段都填充了所需的数据。如果我使用普通的 CharField,我会得到我期望的数据。但它不适用于我的自定义字段。我已经追踪到我的自定义 MultiWidget 没有调用它的解压缩方法这一事实。

这是我的领域:

这是我的小部件:

整个事情被称为(在更大的背景下)为

现在你可以看到,我在我的 compress 方法中放了一个 print 语句,但我永远看不到那个语句。此外,如果我将 compress 重命名为 foobar 之类的名称,我希望(根据 MultiWidget 的 django 代码)得到 NotImplementedError,但事实并非如此。有什么建议么?

我在 ubuntu 服务器 10.04 上使用 python 2.6.5、django 1.1。

0 投票
1 回答
3375 浏览

python - Django子类化multiwidget - 使用自定义multiwidget重建帖子日期

所以我的 django 书又回到了大学,我正在努力解决这个问题。

我已经django.forms.widgets.MultiWidget像这样子类化了:

这给了我一个漂亮的日期选择字段,如下所示: 漂亮的日期选择

我的问题真的很简单。当我将所述表单提交给它的处理方法时(它使用这样的过程:

这失败了,因为 Django 不知道如何获取我的 multi-widget 并将其转换回基础字段类型,该字段类型设置models.pyDateField(),显然。

现在,django 源代码中围绕 MultiWidget 的注释给了我这个有用的提示:

您可能希望将此类与 MultiValueField 一起使用。

但问题是——我可能不会。我想保留我的DateField(),因为它非常有用,而且没有必要复制它。然后我需要做的是以某种方式将这些多个字段转换回单个有效的日期字符串 ( yyyy-mm-dd) 以插入到数据库中。

我的问题是:

如何?实现这一目标的最佳方法是什么?

0 投票
1 回答
592 浏览

django - 如何使用 modelform 和 multiwidget

这一切的新手!我正在努力在前端显示电话字段显示为 (xxx)xxx-xxxx。下面是我的代码。我的问题是 1. 所有字段都是强制性的,由于某种原因,手机的行为不符合预期。即使它留空也不会抱怨 2.我如何测试这个小部件的功能

在模型中,空白和空值不正确。非常感谢任何输入。谢谢

0 投票
2 回答
457 浏览

django - 可选内联中的 MultiValueField

我已经设置了一个用于内联的 MultiValueField。如果我将 MultiValueField 留空,它似乎认为它已被填充。结果,我不断收到表单验证错误,因为就表单而言,这些内联不是空的(因此得到验证)。

所以我想我想知道:设置 MultiValueField 是否有技巧,以便它可以显式为空白,这样我就可以避免引发验证错误?

这是有问题的代码:

0 投票
3 回答
3117 浏览

django - 使用 MultiWidget 和 MultiValueField 保存表单模型

我试图了解如何通过子类化 MultiWidgets 和 MultiValueFields 来创建表单。我有一个简单的地址模型和相关表格:

好吧,在我看来,我无法弄清楚如何使用此表单。我正在尝试做:

结果,Django给了我这个错误:

输入值列表。

此外,当我尝试打印 request.POST.items() 时,它会将地址响应作为 3 个单独的数据提供。

我在这里很迷茫,我必须在一行中获取我的地址数据。我应该如何通过只保存我的表单来实现这一点?

如果有人给我一个明确的解释,我真的很感激。

0 投票
1 回答
1923 浏览

django - 在 Django 中使用自定义 MultiValueWidget 验证 MultiValueField

我想要一个字段和一个小部件,让我们有一个“近似”日期,这个想法是只有以下之一:

  • 准确日期
  • 一年,也许一个月
  • 初始年和结束年

一些压缩的有效值可能是:

  • “1988/08/07,,,,”
  • ",1988,,,"
  • ",1988,08,,"
  • ",,,1997,1999"

问题是我无法验证字段是否只有上述三个选项之一,在字段定义中我尝试创建验证和清理方法,但它没有得到验证,我怀疑字段之间的链接和小部件是不正确的。我错过了什么?

为此,我创建了一个小部件:

和表单字段:

0 投票
1 回答
2598 浏览

django - 如何在 Django 中将两个模型字段表示为一个表单字段?

我似乎无法弄清楚如何在 Django 中正确处理以下情况:

我在模型中有一个日期范围,我将其存储为两个单独的字段,date_start并且date_end

在此模型的表单中,我想将其表示为一个字段,带有一个标签:

就像现在一样,我扩展了 MultiWidget 以创建SelectDateRangeWidget

然后包含两个Date小部件。我想使用它,但随后将其清理为两个单独的模型字段,并保留将初始数据加载到表单字段中的能力。是每次手动设置initial这两个字段的值的唯一方法,可能是__init__在表单的功能中,并且还手动将其清理到这两个模型字段中,或者是否有更清洁(可以这么说)的方式来做到这一点?

0 投票
4 回答
2958 浏览

django - django - 向 MultiValueField / MultiWidget 的字段添加属性

全部,

我设法让 MultiValueField 和 MultiValueWidget 工作。但是,除了“选择”之外,我似乎无法向构成 MultiValueField 的子字段添加属性(如“标签”或“初始”)。

这是我的(简化的)代码:

MyModel 的“myField”字段在 MyForm 中几乎可以正确呈现;它显示了三个小部件:两个 TextInput 和一个 Select。后者仅限于适当的选择。但前两者没有设置标签或初始值。

关于我做错了什么有什么建议吗?

谢谢。

0 投票
1 回答
2558 浏览

django - django multivaluefield & multiwidget - 压缩和/或解压缩不起作用

全部,

我有一个几乎可以工作的 MultiValueField 表单。它使用一个choicefield 和charfield(带有相应的Select 和TextInput 用于小部件)::

压缩功能似乎正在工作;它按预期返回两个字符串的列表。但解压缩中的“值”参数始终为无。果然,当我直接查看数据库时,myField 列始终设置为 null。任何想法压缩和解压缩之间发生了什么?为什么 compress 的值实际上没有被存储?

谢谢。