Append_entry() не работает после добавления в первый раз. Я использую fieldlist с flask-wtf, jinja &Python 3.4
Я столкнулся с проблемой при добавлении fieldlist через append_entry в flask-wtf.
Я могу добавить одну строку полей из списка полей, но после добавления первой строки я не могу добавить вторую строку.
Ошибки не отображаются.
При первой попытке добавляется новая строка элементов списка полей, а в журнале сервера печатается "Data is King" и "True" (я включил это, чтобы увидеть, действительно ли кнопка add отправляет данные и цикл проходит).
Во второй попытке новая строка не добавляется, но страница перезагружается, а в журнале сервера печатается "Data is King" и "True" (это означает, что цикл выполняется, но команда append_entry не работает).
Я нашел тот же вопрос, заданный 4 года назад, но решение, данное в принятом ответе на этот вопрос, не решает проблему.
Ниже приведена ссылка.
https://stackoverflow.com/questions/8637831/cant-append-entry-fieldlist-in-flask-wtf-more-than-one#=
Я перепробовал все комбинации, но ничего не решает проблему (я занимаюсь этой проблемой уже более 48 часов).
Может кто-нибудь помочь, пожалуйста.
Что я уже пробовал:
сведения form.py
class FormCont(FlaskForm): description = StringField('Description',validators=[DataRequired()]) start_time = FloatField('Start Time',validators=[DataRequired()]) class AddItemCont(FlaskForm): a = FloatField(validators=[DataRequired()]) b = FloatField(validators=[DataRequired()]) c = FloatField(validators=[DataRequired()]) item_cont = FieldList(FormField(FormCont), min_entries=0, max_entries=100) add_item_cont = SubmitField("Add") remove_item_cont = SubmitField("Remove") submit = SubmitField()
сведения view.py
@additem.route('/additem/', methods = ['GET','POST']) def additemcont(): form = AddItemCont(request.form) if form.add_item_cont.data: form.item_cont.append_entry() print ("Data is King") print (form.add_item_cont.data) return render_template('entry.html',form=form)
entry.html данные
<form action="{{url_for('additemcont')}}" method='POST' name='AddItemCont' class="form-horizontal"> {{ form.hidden_tag() }} <div class = "row"> <div class="col-md-1" > <form action="" method="POST" class="form-horizontal"><button type="submit" class="btn btn-success btn-xs" name="add_item_cont" value="add_item_cont"><span class="glyphicon glyphicon-plus" aria-hidden="true"></button> </form> </div> </div> <div class = "row"><div class="col-md-12" > {% for x in form.item_cont %} {% for i in x %} {{ i (class="form-control") }} {% endfor %} {% endfor %} </div></div>