2

我有一个 Flask 应用程序,在我的 html 模板(即 Jinja2)中,我有一个只有一个按钮的简单表单:

<form name='resetLayoutForm' method='POST'>
    <input type="submit" value="Reset layout" class="submitButton"/> 
</form>

现在,我想知道如何“让 Python 脚本知道”该按钮已被单击?

我试过:

@app.route('/localhost/some_route', methods = ['POST', 'GET'])
def function():
    .   .    .
    if request.method == 'POST':
        # code
    .   .    .

但这不是一个好的解决方案,因为我在代码中有一些其他操作正在使用 POST 请求方法,并且我不希望在使用这些其他 POST 操作时激活#code。

4

3 回答 3

3

复制包含按钮的表单并将其操作设置为不同的 URL。然后,当按下时,只有那个不同的 URL 会接收数据。

显然,正如其他人所指出的,有 Javascript 机制可以实现这一点,但如果不需要这些......

于 2013-02-03T15:51:18.373 回答
0

“'让 Python 脚本知道'该按钮已被单击”是什么意思?

如果您不想与服务器对话并且按钮单击仅适用于客户端,那么为什么不使用 Javascript 呢?例如,最简单的方法是使用 onclick 事件:

<input type="submit" value="Reset layout" class="submitButton" onclick=doSomething() />

其中 doSomething() 是您可以编写的 javascript 函数

于 2013-01-29T15:38:35.260 回答
0

您可以检查输入的 value 属性,request.form.values()如下所示:

@app.route('/localhost/some_route', methods = ['POST', 'GET'])
def function():
    # code
    if 'Reset_layout' in request.form.values():
        # code
于 2017-12-23T07:24:26.997 回答