我的表格中有3個字段。我有一個提交按鈕和一個“添加其他字段”按鈕。我知道我可以使用__init__表單類中的方法添加字段。我是Python和Django的新手,并且陷入了一個初學者的問題:我的問題是:當我單擊“添加其他字段”按鈕時,添加其他字段的過程是什么?是否需要再次呈現表單?我如何以及何時打電話__init__,甚至必須打電話?如何將參數傳遞給__init__?
3 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
我曾經遇到過必須動態創建帶有動態字段的表單的情況。我用這個技巧做到了:
from django import forms
...
dyn_form = type('DynForm', # form name is irrelevant
(forms.BaseForm,),
{'base_fields': fields})
請參閱此鏈接以獲取更多信息: 動態表單
但是除此之外,我還必須注入字段,即在創建表單類后將其動態添加到表單類中。
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)
那行得通。
添加回答
舉報
0/150
提交
取消