WTForms - динамические метки путем передачи аргумента конструктору?

Можно ли сделать метки формы динамическими, передав аргумент конструктору формы?

Я думаю о чем-то вроде следующего кода:

class MyForm(Form):

    def __init__(self, fruit):
        Form.__init__(self)
        self.fruit = fruit

    name = StringField('Do you like' + fruit + "?")

@app.route('/' ,methods=["GET","POST"])
def home():
    form = NameForm("bananas")

Что бы я ни пытался, метка поля ввода текста, похоже, никогда не сможет получить доступ к переменной «фрукты», т.е. я не могу сделать метку динамической.

Возможно, я недостаточно хорошо понимаю объекты Python, чтобы понять, почему это невозможно.


person RobinL    schedule 28.06.2014    source источник
comment
Что вы имеете в виду, говоря, что вы не можете заставить его работать?   -  person Robert Harvey    schedule 28.06.2014
comment
Я попытался прояснить вопрос с правками... спасибо   -  person RobinL    schedule 28.06.2014
comment
Конструкторы форм уже определены, и я предполагаю, что вы хотите создать свою собственную перегрузку, Python на самом деле плохо справляется с перегрузками (stackoverflow.com/questions/6434482/python-function-overloading). Конечно, это выполнимо, но в то же время dll для класса формы довольно раздражает для доступа и внедрения кода (по крайней мере, насколько я знаю, но я скраб Python, но я думаю, что это одна из причин, почему мы получаем перегрузки на других визуальных языках). Я бы загрузил имя из источника, а затем просто установил имя в свойстве form.Text.   -  person Thomas Lindvall    schedule 28.06.2014
comment
Спасибо, Томас. Рад, что я не пропускаю что-то действительно очевидное. Я могу решить это, переписав шаблоны, это просто (изначально!) выглядело как быстрое исправление,,,   -  person RobinL    schedule 28.06.2014
comment
Возможный дубликат Как сделать Flask-WTFoms динамически обновляет метки из списка имен меток?   -  person snakecharmerb    schedule 30.06.2018