为了账号安全,请及时绑定邮箱和手机立即绑定

动态将字段添加到表单

动态将字段添加到表单

偶然的你 2019-10-06 15:51:35
我的表格中有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)

那行得通。


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 907 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信