【发布时间】:2013-01-13 05:04:17
【问题描述】:
我有一个 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。
【问题讨论】:
-
所以将按钮发布到仅响应该按钮的不同处理程序?
-
只需复制包含按钮的表单并将其操作设置为不同的 URL。
-
这对我的目的不利。我希望代码在同一个 URL 上执行。
-
所以只需在按钮表单中包含一个标记,告诉“其他代码”在您按下该按钮时不要执行,并在您使用“正确”POST 操作时执行。你让这件事变得更复杂了,我认为它应该是这样的。
-
您想在服务器上使用相同的表单、相同的操作 URL 执行。那么单独执行这个“其他python脚本”需要什么。我不明白。为什么你不能只执行 python 脚本并使用相同的 POST 继续你需要做的其他事情。
标签: python html forms flask submit-button