Добрый вечер.
Пытаюсь сделать страничку редактирования свойств некого датчика(ов).
Подскажите, каким образом можно заполнить формы существующими данными в базе?
Сейчас код имеет такой вид:
forms.pyclass EditSensorForm(FlaskForm):
w1_addr = StringField('1-wire адрес', validators=[DataRequired()])
pin = StringField('Пин')
function = StringField('Функция', validators=[DataRequired()])
place = StringField('Место', validators=[DataRequired()])
submit = SubmitField('Подтвердить')
routes.py@bp.route('/settings/sensors/edit/<sensor_id>', methods=['GET', 'POST'])
@login_required
def edit_sensor(sensor_id):
sensor = Sensor.query.filter_by(id=sensor_id).first_or_404()
form = EditSensorForm()
if form.validate_on_submit():
sensor.w1_addr = form.w1_addr.data
sensor.GPIO_pin = form.pin.data
sensor.function = form.function.data
sensor.place = form.place.data
db.session.commit()
flash('Your changes have been saved.')
return redirect(url_for('settings.sensors'))
elif request.method == 'GET':
form.w1_addr.data = sensor.w1_addr
form.pin.data = sensor.GPIO_pin
form.function.data = sensor.function
form.place.data = sensor.place
return render_template('/settings/edit_sensor.html',
form=form,
title='Редактирование свойств датчика')
Форму в шаблон вставляю через:
{{ wtf.quick_form(form) }}
На выходе получаю такое