2011-03-10 46 views
4

我動態生成的一種形式:在Django中,我如何遲綁定一個未綁定的表單?

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數據?

感謝

回答

5

尋找在Django /表格/ forms.py,你可以看到Django的作品。似乎表單數據被保存到form.data中。另外,如果數據不是None,那麼form.is_bound設置爲true。

嘗試使用:

form.data = request.POST.copy() 
form.is_bound = True 
+0

這是一個漂亮的小把戲。謝謝菲爾! – keithxm23 2012-07-26 20:48:25