在Flask中,表单提交后,模板中的app.request.method
参数的值取决于表单提交时的HTTP请求方法。通常,表单提交使用POST方法。如果您在模板中始终收到GET方法,可能有几个原因。
首先,请确保在表单中正确指定了method="POST"
:
在上面的示例中,我们将表单的method
属性设置为POST,这将确保在提交表单时使用POST方法。
如果表单中的method
属性已经设置为POST,并且仍然收到GET方法,那么可能是由于请求的路由没有相应地处理POST请求。请确保您的路由处理程序包含对POST方法的支持。
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/submit-form', methods=['GET', 'POST'])
def submit_form():
if request.method == 'POST':
# 处理表单提交的POST请求
username = request.form.get('username')
return f'表单提交成功,用户名为:{username}'
else:
# 渲染包含表单的模板
return render_template('form.html')
if __name__ == '__main__':
app.run()
在上面的示例中,我们将路由处理程序的methods
参数设置为['GET', 'POST']
,以便它可以处理POST请求。在POST请求中,我们使用request.form.get('username')
来获取表单中的用户名。
确保在路由处理程序中的适当位置返回渲染的模板,以便在GET方法下显示表单。
请注意,如果您在表单提交后仍然收到GET方法,并且无法解决该问题,请检查您的代码中是否发生了其他错误或逻辑问题。