Я прочитал несколько обсуждений и попробовал различные варианты, например, request.form.get (), request.args.get (). Я ничего не получил из формы ??
<div class = "modal-body"> <h1> Affiliated Programmes </h1>
<form id = "grant_edit" action = "" method = "POST">
<input type = "hidden" id = "popup_grant_id" name = "grant_id"/>
<div class = "checkbox" id = "programmes_container">
</div><br/><br/>
<button name = "grant_submit" type = "submit" value = "programmes">
<span class = "glyphicon glyphicon-save"></span> Update
</button>
</form>
</div>
Название кнопки: grant_submit «GET» возвращает идентификатор, «POST» не отвечает.
@app.route('/searchgrantprogs', methods=['POST', 'GET'])
# called by publication allocation using ajax
@login_required
def searchgrantprogs():
grant_id = 0
if request.method == 'GET':
sql_grantprogs = """SELECT grant_id, programme_id
FROM grants_programmes WHERE grant_id=:a;
"""
grantid = request.args.get('grant_id')
print(grantid)
r_grantprogs = list(conn.execute(text(sql_grantprogs), a=grant_id))
return json.dumps([dict(r) for r in r_grantprogs])
if request.method == 'POST':
for gr in request.form.values():
#form=grant_submit()
grant_id = request.form.get('grantid')
##clustid=request.form['grant_submit']
flash(request.form.get('grant_submit'))
#return redirect(url_for('searchgrants'),)
return render_template('search_grants.html', grant_id=grantid)
Сообщение об ошибке:
127.0.0.1 - - [21 / May / 2018 13:31:55] «GET / предоставляет HTTP / 1.1» 200 - 127.0.0.1 - - [21 / May / 2018 13:31:58] «GET / grants / search HTTP / 1.1» 200 - 127.0.0.1 - - [21 / May / 2018 13:32:04] "GET / searchgrantprogs? Grant_id = 5141 & _ = 1526905918527 HTTP / 1.1" 200 - 5141 127.0.0.1 - - [21 / May / 2018 13:32:16] «POST / grants / search HTTP / 1.1» 400 -
Я не могу получить данные формы ??
Буду признателен за любую помощь.
Привет, Мекича, в статье, которую я прочитал, говорилось, что нужно использовать type = "submit not" post "
action = "" атрибут действия должен предоставлять URL-адрес, по которому размещена ваша форма. Есть ли причина, по которой вы создали пустую строку?
Спасибо, ни разу не заметил action = "" ни в каких вопросах.
Я не вижу флажка, чтобы отметить вопрос ??




Вы указали grantid вместо grant_id
Выключатель
grant_id = request.form.get('grantid')
к:
grantid = request.form.get('grant_id')
Привет, извиняюсь. Я изменил grantid = request.form.get ('grantid') на grantid = request.form.get ('grant_id').
В «GET» возвращается идентификатор. В "POST" он возвращает None ??
У вас есть атрибут
method=postв вашей форме? Разместите полный код для своего элемента формы.