python - 将参数传递给 django 中的动态表单

标签 python django django-forms

我在表单中有一个动态表单。实例化表单时如何从 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/

相关文章:

python - 如何使用 Python NLTK 仅打印出 Wo​​rdNet 同义词集中的单词本身?

python - 替换 pandas.DataFrame 中丢失的数据不起作用

python - 无法为 xml 下载创建 HttpResponse,Django

Django 应用程序似乎使用旧的 QuerySet 结果来处理基于 date.today() 过滤的新请求

python - 在python中的其他几个列表中存储对元素的单个引用列表

python - 无法理解 *(星号)在 Python 变量赋值中的作用

python - Django objects.filter 不更新字段但 objects.get 是

python - Django:迭代自定义选择字段中的选项

django - 如何迭代模板中 SelectField 的选项?

python - 如何将当前事件用户作为外键添加到 django 3 中的任务模型中?