【问题标题】:400 Bad Request: The browser (or proxy) sent a request that this server could not understand [duplicate]400 Bad Request:浏览器(或代理)发送了一个该服务器无法理解的请求[重复]
【发布时间】:2020-03-19 04:09:44
【问题描述】:

我正在尝试在烧瓶应用程序中构建电影推荐系统。但是,我收到以下错误:

BadRequestKeyError: 400 Bad Request: 浏览器(或代理)发送了一个 此服务器无法理解的请求。

这是我的代码。 app.py

predictor.html

sample.py

终端视图

浏览器视图

【问题讨论】:

  • 您能否展示一下您是如何运行服务器以及如何在浏览器中打开它的?
  • 为什么要粘贴屏幕截图而不是实际代码?
  • 您是否在加载页面或单击提交按钮时收到 400 错误?如果是提交按钮的情况,则将method='get' 放入<form> 标记中,看看它是否有效。此外,将表单提交到同一端点可以遵循以下内容:stackoverflow.com/a/37212645/6400614
  • @RahulBharadwaj 编辑了您可以检查终端和浏览器视图的问题
  • 您的 HTML 页面有两个键:movie_inputmovies。你只渲染其中一个。

标签: python windows web-services flask


【解决方案1】:

你可以试试这个:

@app.route('/', methods=['GET','POST'])
def predict():
    if 'movie_input' in request.form:
        movies = similar_movies(request.form['movie_input'])
    else:
        movies = "No movies selected. Please, select something!"
    print(movies)
    return render_template('predictor.html', movie_input=movies)

这段代码将处理没有提供movie_input的情况(比如在第一个页面加载期间)

【讨论】:

    猜你喜欢
    • 2021-02-19
    • 2020-10-17
    • 2020-06-11
    • 1970-01-01
    • 2021-12-04
    • 2021-06-04
    • 2018-04-27
    • 2018-07-24
    • 2018-12-20
    相关资源
    最近更新 更多