Значение формы скрытого поля
Я использую WTForms, и у меня проблема с тем, что скрытые поля не возвращают значения, тогда как в документах говорится, что они должны. Вот'Простой пример:
forms.py:
from wtforms import (Form, TextField, HiddenField)
class TestForm(Form):
fld1 = HiddenField("Field 1")
fld2 = TextField("Field 2")
experiment.html:
{% from "_formshelper.html" import render_field %}
{% for field in form %}
{{ render_field(field) }}
{% endfor %}
(render_field просто помещает метку, поле и ошибки в теги td)
experiment.py:
from flask import Flask, request, render_template
from templates.forms import *
from introspection import *
app = Flask(\__name__)
app.config.from_object(\__name__)
db_session = loadSession()
@app.route('/exp', methods=['POST', 'GET'])
def terms():
mydata = db_session.query(Peter).one()
form = TestForm(request.form, mydata)
if request.method == 'POST' and form.validate():
return str(form.data)
return render_template('experiment.html', form = form)
if __name__ == '__main__':
app.run(debug = True)
mydata возвращает единственную строку из таблицы, которая имеет 2 поля, fld1 и fld2. fld1 - целочисленное поле автоинкремента. Форма заполняется этими данными, поэтому, если я запускаю Experin.py, при отправке формы я получаю: {'
fld2': u 'бла бла бла', 'FLD1': u'1 '}
Но если я изменю fld1 на HiddenField, когда я нажму на submit, я получу: {'fld2': u 'бла бла бла', 'FLD1': u ''}
Что я делаю неправильно?