以 <> 形式提供烧瓶参数会产生 404?

Supplying a flask parameter in <> form produces 404?

我正在尝试做这样的事情:

@app.route('/search?term=<param>')
def search_db(param):
   ...blah blah...

我清楚地记得用于传递参数的 <> 符号。 然而在我的示例中,访问路径 /search?term=whatever 会产生 404.

我知道request.args并且我打算使用它,但我真的不明白为什么上面的不起作用。是不是因为“?”?

如果你的参数名称是term,你应该这样写:

@app.route('/search')
def search():
    term = request.args.get('term')

我似乎混淆了两个概念。 flask 带参数的路由和 <> 符号是这样的:

@app.route('/product/<name>')
def get_product(name):
    return "The product is " + str(name)

更多信息请查看 routes 上的防弹教程。

虽然在 url 中带有 ? 的经典 http 参数与 request.args.get 方法一起使用。