3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
我曾經(jīng)遇到過必須動(dòng)態(tài)創(chuàng)建帶有動(dòng)態(tài)字段的表單的情況。我用這個(gè)技巧做到了:
from django import forms
...
dyn_form = type('DynForm', # form name is irrelevant
(forms.BaseForm,),
{'base_fields': fields})
請(qǐng)參閱此鏈接以獲取更多信息: 動(dòng)態(tài)表單
但是除此之外,我還必須注入字段,即在創(chuàng)建表單類后將其動(dòng)態(tài)添加到表單類中。
dyn_form.base_fields['field1'] = forms.IntegerField(widget=forms.HiddenInput(), initial=field1_val)
dyn_form.base_fields['field2'] = forms.CharField(widget=forms.HiddenInput(), initial=field2_val)
那行得通。
添加回答
舉報(bào)