我在表单中有一个动态表单。实例化表单时如何从 View 中传递参数?
类似:
form = DynamicForm("some string argument I'm passing to my form")
这是我的表格:
class DynamicForm(Form):
def __init__(self, *args, **kwargs):
super(DynamicForm, self).__init__(*args, **kwargs)
for item in range(5):
self.fields['test_field_%d' % item] = CharField(max_length=255)
最佳答案
将它添加为关键字参数,假设它称为 my_arg。确保在调用 super()
之前 pop()
关键字 arg,因为父类的 init 方法不接受额外的关键字参数。
class DynamicForm(Form):
def __init__(self, *args, **kwargs):
my_arg = kwargs.pop('my_arg')
super(DynamicForm, self).__init__(*args, **kwargs)
for item in range(5):
self.fields['test_field_%d' % item] = CharField(max_length=255)
当你创建表单时,它是这样的:
form = DynamicForm(..., my_arg='value')
关于python - 将参数传递给 django 中的动态表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2237064/