0
我想在django中生成動態表單。假設我有一個模型,其中包含由所有形式的字段組成的選擇。如果我的用戶選擇Textarea選項並給出標籤名稱,則表單將顯示帶有給定標籤的textarea。這可能是一個TextInput,單選按鈕等在Django中生成表格
所以我的模型看起來像:
TYPE_CHOICES = (
(u'TextField',u'TextField'),
(u'TextArea',u'TextArea'),
)
class SocietyForm(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField()
form_info = models.ForeignKey(FormInfo)
class FormInfo(models.Model):
label = models.CharField(max_length=255)
content_type = models.CharField(max_length=100,choices=TYPE_CHOICES)
form_info = models.ForeignKey(SocietyForm)
到目前爲止好,但是當涉及到生成窗口小部件,以及我不知道這裏=) 我想,如果我根據選定的選項生成字典,那麼我可以將它分配給窗體的小部件。
'''
def select_form_type(instance):
dict = {}
if instance.content_type == "TextField":
dict.update({'%s'instance.label:forms.TextInput()})
else:
dict.update({'%s'instance.label:forms.Textarea()})
return dict
'''
#class SocietyJoinForm(forms.ModelForm,instance):
但是,SocietyJoinForm不能識別實例輸入。那麼有什麼想法?