如何在Flask中创建忽略静态文件的全能URL路由?

时间:2012-11-30 19:37:55

标签: python flask

如何使用Flask创建一个忽略favicon.icoimage.png等静态文件的全能网址?

示例:

  • 我想抓住/bZdFFek并忽略/favicon.ico
  • 我想抓住/of9WfXz并忽略/style.css

2 个答案:

答案 0 :(得分:3)

Flask / Werkzeug通常会做正确的事情。路由按复杂程度排序,因此最不复杂的路由(如“/favicon.ico”)应该在catch-all路由之前始终匹配:

@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)

答案 1 :(得分:0)

我认为最好的方法是在路由参数中使用正则表达式。对另一个问题的这个答案有一个很好的例子,说明如何做到这一点:https://stackoverflow.com/a/5872904/64266