У меня есть настройки формы, такие как:
class AddressForm(FlaskForm):
line1 = StringField()
city = StringField()
postcode = StringField()
class PlaceForm(FlaskForm):
name = StringField()
address = FormField(AddressForm)
А затем у меня есть просмотр в колбе примерно так:
@bp.route("/places/<ident>", methods=['GET', 'POST'])
def edit_place(ident):
place = api.get_place(ident)
form = PlaceForm(obj=place)
if form.validate_on_submit():
# do stuff with the form data
return render_template('place/edit.html', form=form)
api.get_place(ident)
возвращает данные, которые не соответствуют форме имен полей в моих Form
классах, поэтому мои формы всегда пусты при визуализации в браузере. Например, ответ от API может выглядеть так:
{
"place": {
"place_name": "Foobar",
"address": {
"address1": "500 5th St",
"locality": "San Francisco",
"post_code": "90210"
}
}
}
Как настроить код, заполняющий PlaceForm
данными при передаче obj
?