【问题标题】:Flask route query parameterFlask 路由查询参数
【发布时间】:2012-07-26 21:26:08
【问题描述】:

假设我用 Flask 设置了两条路线:

app.add_url_rule('/example', view_func = example.Index.as_view('example'))
app.add_url_rule('/example/<string:example_key>', view_func = example.Show.as_view('example'), methods=['GET'])

这会将 /example 路由到 example.Index 并将 /example/1 路由到 example.Show。

当我转到 /example?parameter=miau 时,它会路由到 example.Show 而不是 example.Index。

为什么会发生这种情况,我应该如何解决?

【问题讨论】:

    标签: python rest flask routes werkzeug


    【解决方案1】:

    发现了,注意“example.Index.as_view('example')”,应该是:

    app.add_url_rule('/example', view_func = example.Index.as_view('example_index'))
    app.add_url_rule('/example/<string:example_key>', view_func = example.Show.as_view('example_show'), methods=['GET'])
    

    【讨论】:

    • 为什么会这样:as_view的第一个参数是生成的视图函数的名称,它是默认的“端点”。 Flask 将 URL 规则映射到端点,然后将端点映射到视图函数。在第一个代码示例中,两个视图具有相同的名称,因此两个规则具有相同的端点。两种情况都使用了相同的视图函数(后者)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多