Flask Urls 中用于路由的问号
Question marks in Flask Urls for routing
所以,我在 Flask 中有以下路线:
@app.route("/menu-card/<google_place_id>", methods=['GET'])
在导航到 http://127.0.0.1:5000/menu-card/ChIJAxXhIUMUrjsR5QOqVsQjCCI 时,我得到了正确的响应。
但是,我尝试如下更改 URL 模式:
@app.route("/menu-card?id=<google_place_id>", methods=['GET'])
在导航到 http://127.0.0.1:5000/menu-card?id=ChIJAxXhIUMUrjsR5QOqVsQjCCI 时,我现在收到 404 错误。我做错了什么?
?
之后的部分是 query string,您可以使用 request.args
获取它。所以,你的路线应该是:
@app.route("/menu-card", methods=['GET'])
然后您可以使用以下方法获取 ID:
google_place_id = request.args.get('id', None)
其中 None
是默认值,如果 id
不包含在 url 中。您必须检查它是否不等于 None
以确保它已通过。
搜索 the quickstart page for request.args
以查看另一个示例。
所以,我在 Flask 中有以下路线:
@app.route("/menu-card/<google_place_id>", methods=['GET'])
在导航到 http://127.0.0.1:5000/menu-card/ChIJAxXhIUMUrjsR5QOqVsQjCCI 时,我得到了正确的响应。
但是,我尝试如下更改 URL 模式:
@app.route("/menu-card?id=<google_place_id>", methods=['GET'])
在导航到 http://127.0.0.1:5000/menu-card?id=ChIJAxXhIUMUrjsR5QOqVsQjCCI 时,我现在收到 404 错误。我做错了什么?
?
之后的部分是 query string,您可以使用 request.args
获取它。所以,你的路线应该是:
@app.route("/menu-card", methods=['GET'])
然后您可以使用以下方法获取 ID:
google_place_id = request.args.get('id', None)
其中 None
是默认值,如果 id
不包含在 url 中。您必须检查它是否不等于 None
以确保它已通过。
搜索 the quickstart page for request.args
以查看另一个示例。