0

根据这个问题:Django Form'initial'和'bound data'之间的区别?

这是 django 文档中关于绑定和未绑定表单的关键部分。

如果它绑定到一组数据,它就能够验证该数据并将表单呈现为 HTML,并在 HTML 中显示数据。

如果未绑定,则无法进行验证(因为没有要验证的数据!),但它仍然可以将空白表单呈现为 HTML。

我的问题是:有没有一种简单的方法可以知道需要绑定哪些字段才能进行验证?

我们有一个多继承 ModelForm 的噩梦,很难弄清楚哪些是“绑定”的最低要求字段。

在这种情况下,我尝试将我form.data的 to 匹配vars(form.fields),但这还不够,它只是通过模型进行持续的便餐跟踪,并以form.data特别的方式添加越来越多的内容。

可绑定字段的最低要求是否有一些基本列表?

4

1 回答 1

0

根据您的澄清评论:

[T]这里有一些数据,但表单仍然是 form.is_bound=False。我想知道的是,为了使 is_bound 为 True,我还需要向数据中添加什么。

这不是存在或不存在哪些数据的问题,而是如何构造表单对象的问题。

文档

To create an unbound Form instance, simply instantiate the class:

>>> f = ContactForm()

To bind data to a form, pass the data as a dictionary as the first parameter to your Form class constructor:
>>> data = {'subject': 'hello',
...         'message': 'Hi there',
...         'sender': 'foo@example.com',
...         'cc_myself': True}
>>> f = ContactForm(data)

也就是说,如果您在实例化表单时提供了一个参数,它就会被绑定。如果不是,则不是。

于 2013-08-08T04:08:35.933 回答