4

我动态生成一个表单:

form = forms.Form()
form.fields['myname'] = forms.CharField(label=u'My Name')
...

然后显示表格:

buf = '....<form action="." method="POST">...' + form.as_p() + '...'
t = Template(buf)
v = RequestContext(request, {'form': form})
html = t.render(v)
...

我可以通过将第一行更改为

form = forms.Form(request.POST)

在我开始生成动态表单之前。

但是,有没有办法保持动态表单生成代码不变,然后将表单后期绑定到 request.POST 数据?

谢谢

4

1 回答 1

5

查看 django/forms/forms.py,你可以看到 django 是如何工作的。似乎表单数据保存到form.data。此外,如果 data 不是 None,则 form.is_bound 设置为 true。

尝试使用:

form.data = request.POST.copy()
form.is_bound = True
于 2011-06-23T11:00:08.417 回答