Итак, у меня есть форма с полем QuerySelect и полями String. Когда я пытаюсь представить и проверить его на стороне сервера, это просто не происходит. POST-запрос выполняется с правильными данными, но он никогда не входит в if form.validate_on_submit (). Я схожу с ума по этому поводу, помощь будет принята с благодарностью.
Также формы проверяются, если я удаляю SelectFields. В приведенном ниже примере я использую MultipleSeletField
Вот код:
вот моя логика маршрута:
app.py
@app.route('/contacts' , methods=['GET' , 'POST'])
@login_required
def contacts():
'''
Add contacts to database with option to export
and import data onto Peep.
'''
user = current_user.username
form = login_model.AddContactForm()
form_add_group = login_model.AddGroupForm()
form_add_group.contact.choices = [ (r.id , r.company_name ) for r in login_model.AddContact.query.order_by('company_name') ]
if form_add_group.validate_on_submit():
print("going in")
return "{}{}".format(form_add_group.group.data , form_add_group.contact.data)
mssg = ""
contact_list = db.session.query(login_model.AddContact).all()
return render_template('contacts.html' , user = user ,form = form , error_mssg_a ="Testing the error run" ,
contact_list = contact_list , form_add_group=form_add_group) , 200
model.py:
class AddGroupForm(FlaskForm):
group = QuerySelectField('group' , allow_blank = False , get_label = 'group' , query_factory = group_choice)
contact= SelectMultipleField('contact' )
Вот шаблон:
<form action="/contacts" method="POST">
{{form_add_group.hidden_tag()}}
<div class="select control">
{{form_add_group.group}}
</div>
<div class="select control is-multiple" width="8">
{{form_add_group.contact}}
</div>
<button class="button is-black"><i class="icon-btn" data-feather="check-square"></i>Create Group</button>
</form>