Форма фляги не возвращается

Я прочитал несколько обсуждений и попробовал различные варианты, например, 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 -


Я не могу получить данные формы ??

Буду признателен за любую помощь.

У вас есть атрибут method=post в вашей форме? Разместите полный код для своего элемента формы.

Mekicha 21.05.2018 14:54

Привет, Мекича, в статье, которую я прочитал, говорилось, что нужно использовать type = "submit not" post "

Clives-online 21.05.2018 15:03
action = "" атрибут действия должен предоставлять URL-адрес, по которому размещена ваша форма. Есть ли причина, по которой вы создали пустую строку?
Moses N. Njenga 21.05.2018 15:30

Спасибо, ни разу не заметил action = "" ни в каких вопросах.

Clives-online 21.05.2018 16:03

Я не вижу флажка, чтобы отметить вопрос ??

Clives-online 21.05.2018 16:10
JS - События опций формы
JS - События опций формы
В продолжение предыдущей статьи CSS - стили, связанные с вводом формы , в этой статье мы будем использовать JS для взаимодействия с формами, на этот...
CSS - Стили, связанные с вводом формы
CSS - Стили, связанные с вводом формы
Общими стилями ввода для форм являются Input (включая Text, Radio, checkbox), Select и Textarea, из которых Input относительно прост, поэтому в этой...
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Наличие на корпоративном сайте форм заявлений о приеме на работу, или "трудовых анкет", экономит время и деньги как для соискателей, так и для...
1
5
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы указали 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').

Clives-online 21.05.2018 20:47

В «GET» возвращается идентификатор. В "POST" он возвращает None ??

Clives-online 21.05.2018 20:52

Другие вопросы по теме