Raj*_*aja 4 dynamic late-binding django-forms
我动态生成一个表单:
form = forms.Form()
form.fields['myname'] = forms.CharField(label=u'My Name')
...
Run Code Online (Sandbox Code Playgroud)
然后显示表单:
buf = '....<form action="." method="POST">...' + form.as_p() + '...'
t = Template(buf)
v = RequestContext(request, {'form': form})
html = t.render(v)
...
Run Code Online (Sandbox Code Playgroud)
通过将第一行更改为,我可以得到一个绑定的实例
form = forms.Form(request.POST)
Run Code Online (Sandbox Code Playgroud)
在我开始生成动态表单之前.
但是,有没有办法保持动态表单生成代码,然后将表单绑定到request.POST数据?
谢谢
查看django/forms/forms.py,您可以看到django的工作原理.似乎表单数据保存到form.data.此外,如果数据不是None,则将form.is_bound设置为true.
尝试使用:
form.data = request.POST.copy()
form.is_bound = True
Run Code Online (Sandbox Code Playgroud)