Flask Urls中用于路由的问号[重复]

Posted

技术标签:

【中文标题】Flask Urls中用于路由的问号[重复]【英文标题】:Question marks in Flask Urls for routing [duplicate] 【发布时间】:2017-04-01 05:04:54 【问题描述】:

所以,我在 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 错误。我做错了什么?

【问题讨论】:

【参考方案1】:

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

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

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

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

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

搜索 the quickstart page for request.args 以查看另一个示例。

【讨论】:

谢谢..正是我想要的.. 链接失效,这里是official documentation 感谢@RunOrVeith,修复了链接

以上是关于Flask Urls中用于路由的问号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用两条路由 mvc 2 时 URL 参数中的问号

Hibernate在SQL查询中显示问号[重复]

vue路由url问号传参、新打开页面(1分钟解决)

如何通过问号快速路由器api更新sql

Magento删除菱形问号[重复]

Laravel 5.1 带有问号的路由