Flask Urls中的问号用于路由

时间:2016-11-17 15:17:11

标签: python-2.7 flask routing werkzeug

所以,我在Flask中有以下路线:

@app.route("/menu-card/<google_place_id>", methods=['GET']) 

在导航到http://127.0.0.1:5000/menu-card/ChIJAxXhIUMUrjsR5QOqVsQjCCI时,我得到了正确的答复。

但是,我尝试按如下方式更改网址格式:

@app.route("/menu-card?id=<google_place_id>", methods=['GET'])

导航到http://127.0.0.1:5000/menu-card?id=ChIJAxXhIUMUrjsR5QOqVsQjCCI我现在收到404错误。我做错了什么?

1 个答案:

答案 0 :(得分:6)

?之后的部分是query string,您可以使用request.args获取该部分。所以,你的路线应该是:

@app.route("/menu-card", methods=['GET'])

然后你可以使用:

来获取id
google_place_id = request.args.get('id', None)

其中None是默认值,如果网址中未包含id。您必须检查它是否不等于None以确保它已通过。

搜索the quickstart page for request.args以查看其他示例。