在Flask应用中使用GET请求而非POST传递数据

0 投票
1 回答
1563 浏览
提问于 2025-04-17 23:54

我正在搭建一个Flask应用,想要弄明白Flask文档中的路由和方法。我写了一段代码,用GET方法来提交表单的字段:

@app.route('/',endpoint='buf')
def index():
    page = """
    <DOCTYPE! html>
    <html lang="en-US">
    <head>
    <meta charset=utf-8">
    </head>
    <body>
    <form action="/hello" method="GET">
    First name: <input type="text" name="fname" id="fname" ><br>
    Last name: <input type="text" name="lname"><br>
    <input type="submit" value="Submit">
    </form>
    </body>
    </html>
    """   
    return page


@app.route('/hello',endpoint="new",methods=['GET','POST'])
def index():
        if request.method=='POST':
                return 'Hello %s' % (request.form['fname'])
        else:
                return 'Hello %s' % (request.form['fname'])

当我在HTML表单标签中使用'GET'而不是'POST'时,出现了错误。有没有办法让我用GET方法来访问表单的字段,而不是用POST呢?

1 个回答

3

来自快速入门指南的相关部分

要获取在网址中提交的参数(比如 ?key=value),你可以使用 args 属性:

searchword = request.args.get('key', '')

撰写回答