1
我找不到为什么此代码与StringField
一起使用,但不是HiddenField
。添加变量date2
仅用于调试问题。HiddenField不返回值
(其实,我可以离开StringField那里,但我花了一些时间来发现问题,我想明白了什么是错的,为了不重蹈覆辙)
形式定义:
DAYS = 10
class _OneDayForm(Form):
alarmtime = StringField(validators=[Optional(), validate_time])
date2 = StringField() # json encoded [Y,M,D]
date = HiddenField() # json encoded [Y,M,D]
class _PerDayForm(Form):
days = FieldList(FormField(_OneDayForm), min_entries=DAYS)
submit = SubmitField()
Jinja2的模板:
<input name="{{ subform.date.name }}" type="hidden" value="{{ ymd }}">
<input name="{{ subform.date2.name }}" type="hidden" value="{{ ymd }}">
生成的HTML:
<input name="days-0-date" type="hidden" value="[2016, 12, 7]">
<input name="days-0-date2" type="hidden" value="[2016, 12, 7]">
StringField date2
返回其值,但HiddenField date
没有。我试图交换他们以确保StringField
与HiddenField
确实是唯一的区别。