关于python 2.7:Flask Urls中的问号用于路由

Question marks in Flask Urls for routing

本问题已经有最佳答案,请猛点这里访问。

因此,我在烧瓶中有以下路径:

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

在导航到http://127.0.0.1:5000/menu card/chijaXXhiumurjsr5qoqvsqjcci时,我得到了正确的响应。

但是,我尝试如下更改URL模式:

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

导航到http://127.0.0.1:5000/菜单卡?id=chijaxxhiumurjsr5qoqvsqjcci i现在得到一个404错误。我做错什么了?


?后面的部分是查询字符串,您可以使用request.args获得查询字符串。所以,你的路线应该是:

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

然后您可以使用以下方法获取ID:

1
google_place_id = request.args.get('id', None)

其中None是默认值,如果id不包含在URL中。你必须检查它是否不等于None,以确保它已经通过。

在QuickStart页面中搜索request.args以查看另一个示例。