Python Flask KeyError 400尝试在单击按钮后从文本区域检索数据时请求错误

Python Flask KeyError 400尝试在单击按钮后从文本区域检索数据时请求错误,python,html,flask,Python,Html,Flask,我一直在到处寻找解决方案,并在stack overflow和其他地方检查了类似问题的最常见情况,而那些有类似问题的人没有任何答案。我不知道我错过了什么,但我无法让它发挥作用。我只想在单击按钮后从文本区域检索文本 我的html <form action="{{ url_for('fetch') }}" id="main_form" methods="POST"> <div class="input-g

我一直在到处寻找解决方案,并在stack overflow和其他地方检查了类似问题的最常见情况,而那些有类似问题的人没有任何答案。我不知道我错过了什么,但我无法让它发挥作用。我只想在单击按钮后从文本区域检索文本

我的html

<form action="{{ url_for('fetch') }}" id="main_form" methods="POST">
     <div class="input-group">
            <span class="input-group-text">Text to synthesize</span>
            <textarea class="form-control" name="text"></textarea>
     </div>
     <div class="d-flex justify-content-center" style="padding:25px">
            <input type="submit" class="btn btn-danger btn-lg" id="btnFetch" value="Synthesize into Audio">
     </div>
</form>
我还尝试了
text=request.form(“text”)

在下图中,您可以看到,单击按钮后,我确实得到了正确的“文本”(在地址栏中),但烧瓶侧没有看到它。

如果我删除
If request.method==“POST”:
我得到:

werkzeug.exceptions.BadRequestKeyError werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器 (或代理)发送了此服务器无法理解的请求。 KeyError:“文本”

回溯(最近一次调用上次)文件 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 2464,在调用中返回self.wsgi_应用程序(环境,启动响应)文件 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 2450,在wsgi_app response=self.handle_异常(e)文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 1867年,在handle_异常重新释放(exc_类型,exc_值,tb)文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\u compat.py”, 第39行,在重新提升值文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 2447,在wsgi_app response=self.full_dispatch_request()文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 1952年,在完整的调度请求rv=self.handle用户异常(e)文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 1821年,在handle_user_异常重新释放(exc_类型,exc_值,tb)文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\u compat.py”, 第39行,在重新提升值文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 1950年,在完整的调度请求rv=self.dispatch\u request()文件中 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行 1936年,在派遣请求返回中 self.view\u functionsrule.endpoint文件 “F:\FASTProjects\Licenta\TTS Web App\backend.py”,第35行,在fetch中 打印(request.form[“text”])文件 “C:\Users\vladc.conda\envs\IOT\Lib\site packages\werkzeug\datastructures.py”, 第442行,在getitem中引发异常。 BadRequestKeyError(键)werkzeug.exceptions.BadRequestKeyError:400错误 请求:浏览器(或代理)发送了一个请求,该服务器可以 我不明白。KeyError:“文本”


我只是打错了。这是
method=“POST”
而不是
methods=“POST”

尝试使用
request.POST
而不是
request.form
@M-Chen-3“AttributeError:“request”对象没有属性“POST”,就是这样。事情就是请求。方法永远不会因为某种原因发布。
@app.route('/TTS_page', methods=['GET', 'POST'])
def TTS_page():
    print("You are on the worky page.")
    return render_template('TTS_page.html', txt = "")

@app.route('/fetch', methods=['GET', 'POST'])
def fetch():
    text = "No post request was made."
    print("Button has been pressed.")
    if request.method == "POST":
        print("POST REQUEST MADE...")
        print(request.form["text"])
        text = request.form.get("text")
    return render_template('TTS_page.html', txt = text)