抓住所有路线

拥有一个 catch-all 视图可能很有用,你可以根据路径自行处理复杂逻辑。此示例使用两个规则:第一个规则专门捕获/,第二个规则使用内置 path 转换器捕获任意路径。path 转换器匹配任何字符串(包括斜杠)请参阅 Flask Variable-Rules

@app.route('/', defaults={'u_path': ''})
@app.route('/<path:u_path>')
def catch_all(u_path):
    print(repr(u_path))
    ...
c = app.test_client()
c.get('/')  # u_path = ''
c.get('/hello')  # u_path = 'hello'
c.get('/hello/stack/overflow/')  # u_path = 'hello/stack/overflow/'