передающие аргументы динамической форме в django

У меня есть Динамическая Форма в формах. Как я могу передать аргумент от своего представления, когда я инстанцирую своей формы?

Что-то как:

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)
20
задан Laurel 6 June 2016 в 00:08
поделиться

1 ответ

Добавьте его в качестве аргумента по ключевому слову, скажем, он называется my_arg. Убедитесь, что pop() аргумент ключевого слова arg перед вызовом super(), так как метод 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')
47
ответ дан 29 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: