флакформ передают переменную (WTForms) - PullRequest
0 голосов
/ 05 июля 2018

Я хочу передать str для использования в качестве приглашения для формы. Я думал, что это будет просто, но это оказывается трудно

Вот мой код:

class PostForm(FlaskForm):
    post = TextAreaField(Question, validators=[DataRequired()])
    submit = SubmitField('Submit')`

А,

form = PostForm('my question')

соответствующий HTML

{{ wtf.quick_form(form) }}

1 Ответ

0 голосов
/ 05 июля 2018

Итак, у меня до сих пор нет ответа на вопрос, но мне удалось найти решение.

class PostForm(FlaskForm):
    post = TextAreaField(_l('This no longer matters'), validators=[DataRequired()])
    submit = SubmitField(_l('Submit'))

А потом по маршрутам

from wtforms.fields.core import Label
form = PostForm()
form.post.label = Label("post", 'Real question goes here')}

Объяснение этому заключается в том, что TextAreaField создает атрибут метки в публикации, который доступен и изменяем, но его необходимо правильно отформатировать как объект Label из wtforms.fields.core. (Просто переназначить его как строку не получилось). Представление этого объекта:

<label for="post">Real question goes here</label>

И это типа

<class 'wtforms.fields.core.Label'>
...