Flask - 400 Ошибка с запросом JSON

1

Я создал следующее простое флеш-приложение, которое отображает предсказанное значение из модели машинного обучения, и оно отображает index.html по мере необходимости, пока не сделаю json.request. Затем я получаю ошибку 400; вот мой код:

работает по необходимости из командной строки, но для отображения прогноза (-ов) в браузере. Может ли кто-нибудь дать мне быструю отправную точку? Вот мой код:

@app.route('/predict',methods=['POST'])
def predict():
    data = request.get_json(force=True)
    predict = [data["session"],data["time"],data["amount"]] 
    predict = np.array(predict)
    predict = predict_request.reshape(1,-1)
    #make prediction
    with graph.as_default():
        area = keras_model_loaded.predict(predict)
        output = [area[0]] 
        return render_template('index.html', output = output) 

if __name__ == "__main__":
    # Choose the port
    port = int(os.environ.get('PORT', 9000))
    # Run locally
    app.run(host='127.0.0.1', port=port)

Вот как я создаю JSON:

response = rq.get('https:xyz')
data=response.json()

session = data['currently']['session']
time = data['currently']['time']
amount = data['currently']['amount']

url= "http://127.0.0.1:9000/predict"

post_data = json.dumps({'session': session, 'time': time, 'amount': amount})

r = rq.post(url,post_data)
  • 0
    Ошибка 400 - плохой запрос. Есть ли у вас какие-либо отладочные данные? Мои деньги на проблему с JSON.
  • 0
    Просто неверный запрос информации с сервера. Я выкладываю информацию / предикат из другого файла .py, но процесс работает из командной строки на сервере, но не тогда, когда я пытаюсь визуализировать шаблон.
Показать ещё 3 комментария
Теги:
flask

1 ответ

0

Данные JSON, похоже, не доходят до сервера, как ожидалось. Пожалуйста, попробуйте обновить код своих запросов:

post_data = {'session': session, 'time': time, 'amount': amount}

r = rq.post(url, json=post_data)

Из официальных запросов python-docs:

Использование параметра json в запросе изменит Content-Type в заголовке на application/json.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню