Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';我无法从python flask应用程序中的HTML表单获取输入_Python_Html_Flask - Fatal编程技术网

Can';我无法从python flask应用程序中的HTML表单获取输入

Can';我无法从python flask应用程序中的HTML表单获取输入,python,html,flask,Python,Html,Flask,我正试图用我的PythonFlask应用程序链接html文本框,以便与之交互,因此我尝试了很多方法,并“解析”互联网,以了解如何进行链接,但没有任何效果 然而,我做了一个小的测试程序,这样你可以更好地理解,我仍然有很多错误,实际上页面测试本身启动,在输入我的输入并按下提交按钮后,我有一个“不允许使用方法”的错误,尽管我想如果在方法字段中输入“get”和“POST”,它会自行修复方法两种 无论如何,我实际上被阻止了,我需要你帮助我使这个简单的程序工作 以下是我的节目路线: @app.route('

我正试图用我的PythonFlask应用程序链接html文本框,以便与之交互,因此我尝试了很多方法,并“解析”互联网,以了解如何进行链接,但没有任何效果

然而,我做了一个小的测试程序,这样你可以更好地理解,我仍然有很多错误,实际上页面测试本身启动,在输入我的输入并按下提交按钮后,我有一个“不允许使用方法”的错误,尽管我想如果在方法字段中输入“get”和“POST”,它会自行修复方法两种

无论如何,我实际上被阻止了,我需要你帮助我使这个简单的程序工作

以下是我的节目路线:

@app.route('/test.html', methods=['GET', 'POST'])
def route_test():
    text = request.form.get('text')
    print(text)
    return render_template('test.html', message = text)
这里是链接到它的html页面:

<!doctype html> <html lang= "en">

<head>
<meta charset="UTF8">
</head>
<body>
<h1>Indiquer votre nom</h1> <form action= "." method= "POST">
<input type= "text" name= "text"> <button type= "submit">OK</button>
</form>
<p>{{ message }}</p>
</body> </html>

Indiquer votre nom
好啊
{{message}}

正如你所看到的,它非常简单,尽管它不会打印文本


我也尝试了request.form['text'],并用不同的东西更改了
action=“.”
,但没有任何改变。希望您能解决我的问题,非常感谢。

我回来了,我终于找到了答案,我将在这里为感兴趣的人发布: 事实上,您必须创建一个其他路由,链接(URL)将是html表单的动作,这样您就有了静态页面,当按下submit按钮时,可以调用python函数中的其他路由,然后您可以通过request.form['input1']获得输出

无论如何,这里有一个小代码示例:

@app.route('/test', methods=['GET'])
def route_test():
    text = request.form.get('text')
    print(text)
    return render_template('test.html', message = text)

@app.route('/test_obtain_input', methods=['POST'])
def route_test_obtain_input():
    text = request.form['text']
    print(text)
##you can do whatever you want with it after, here I just reinjecting it in my test page
    return render_template('test.html', message = text)
因此,我的HTML表单如下所示:

<!-- insert the url that is adequate to your application -->
<form action= "https://localhost:5000/test_obtain_input" method= "POST">
<input type= "text" name= "text">
<button type= "submit">OK</button>
</form>

好啊
虽然我没有测试这段代码,因为我在我的真实页面上使用了这段代码,但它应该可以工作,而且这是很好的逻辑,我的队友和我都没有找到任何其他解决方案