Python 如何在Flask中创建一个忽略静态文件的全面URL路由?
如何使用Flask创建一个覆盖所有url的路由,忽略静态文件,如Python 如何在Flask中创建一个忽略静态文件的全面URL路由?,python,flask,Python,Flask,如何使用Flask创建一个覆盖所有url的路由,忽略静态文件,如favicon.ico和image.png 示例: 我想捕捉/bZdFFek并忽略/favicon.ico 我想捕获9wfxz的/of9WfXz并忽略/style.css /通常会做正确的事情。路由按复杂度排序,因此最不复杂的路由(如“/favicon.ico”)在捕获所有路由之前应始终匹配: @app.route("/<short_id>") def view_data(short_id): return "
favicon.ico
和image.png
示例:
- 我想捕捉
并忽略/bZdFFek
/favicon.ico
- 我想捕获9wfxz的
并忽略/of9WfXz
/style.css
- /通常会做正确的事情。路由按复杂度排序,因此最不复杂的路由(如“/favicon.ico”)在捕获所有路由之前应始终匹配:
@app.route("/<short_id>")
def view_data(short_id):
return "You are viewing short ID: {}".format(short_id)
@app.route("/favicon.ico")
def favicon():
return send_static_file(FAVICON_PATH)
@app.route(“/”)
def视图数据(短id):
返回“您正在查看短ID:{}”。格式(短ID)
@应用程序路径(“/favicon.ico”)
def favicon():
返回发送静态文件(FAVICON路径)
我认为最好的方法是在路由参数中使用正则表达式。对另一个问题的回答有一个很好的例子说明了如何做到这一点:这是否意味着我已经为自动加载页面的每个文件创建了一个单独的路由,例如favicon.ico
和static/css/style.css
?@JamesBrewer-Flask添加了一个static
路由,所以像/static/
这样的路由永远不会与/
匹配。