我正在使用Flask 0.9。

现在,我想将三个URL路由到相同的功能:

/item/<int:appitemid>
/item/<int:appitemid>/
/item/<int:appitemid>/<anything can be here>
<anything can be here>部分将永远不会在函数中使用。

我必须复制相同的函数两次才能实现此目标:
@app.route('/item/<int:appitemid>/')
def show_item(appitemid):

@app.route('/item/<int:appitemid>/<path:anythingcanbehere>')
def show_item(appitemid, anythingcanbehere):

会有更好的解决方案吗?

最佳答案

为什么不只使用默认值为None的可能为空的参数呢?

@app.route('/item/<int:appitemid>/')
@app.route('/item/<int:appitemid>/<path:anythingcanbehere>')
def show_item(appitemid, anythingcanbehere=None):

关于python - Flask URL路由: Route Several URLs to the same function,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14023664/

10-12 21:52