Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 6, 2018 12:44:41

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Flask. Формы, bad request

Написано про это много, но я так и не смог разобраться самостоятельно. Ошибка Bad Request
The browser (or proxy) sent a request that this server could not understand при обработке форм.
Проблема начинается, когда форм (в смысле <form>…</form>) больше одной.
Функция обработки первой формы (не удивляйтесь, это web-морда для raspberry, запрашиваем и сохраняем в БД логин/пароль к вайфаю)

 @app.route('/', methods=['POST'])
@app.route('/index', methods=['POST'])
def wifi_form():
    wifi_ssid=request.form['ssid']
    wifi_pass=request.form['password']
    wifi_pare=(wifi_ssid, wifi_pass)
    result='success'
    cursor.execute("INSERT INTO wifi (ssid, password) VALUES (?, ?)", wifi_pare)
    conn.commit()
    return result
Вторая форма должна будет очищать БД от ранее введенных значений.
 def del_form():
    index=request.form['index']
    result='disconnect'
    return result

Шаблон

 <form action="" method="post" >
        <input id="ssid" type="text" name="ssid" style="display: none">
        <select onChange="jQuery('#ssid').val(this.value);">
        {% for wifi in wifi_list %}
        <option>{{ wifi }}</option>
        {% endfor %}
        </select>
        <input type="password" name="password">
        <input type="submit" value="Connect">
        </form>
        <form action="" method="post" > 
        <input type="hidden" name="index" value="1">
        <input type="submit"  value="Disconnect">
        </form>
Первая форма работает, вторая дает Bad Request

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version