【问题标题】:Question marks in Flask Urls for routing [duplicate]Flask Urls中用于路由的问号[重复]
【发布时间】: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 错误。我做错了什么?

【问题讨论】:

    标签: python-2.7 flask routing werkzeug


    【解决方案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,修复了链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2022-12-12
    • 2018-03-28
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    相关资源
    最近更新 更多