1

Flask 在 0.10 中引入了以下更改:

  • 如果您尝试在已使用的端点上注册新函数,Flask 现在将引发错误。

我在主页上使用了以下代码:

# ...
# ...
# some endpoints registered there 

@theApp.route("/<path:filename>")
def static(filename):
    if (os.path.isfile("templates/" + filename)):
        return render_template(filename)
    elif (os.path.isfile("static/" + filename)):
        return theApp.send_static_file(filename)
    else:
        return (render_template("404.html"), 404)

此处理程序用于处理存在的所有内容,无论是静态的还是模板的。现在这在启动期间给了我一个例外。如何在不注册太详细的处理程序的情况下避免异常?

4

1 回答 1

4

如果你不传递endpointroute,默认情况下端点是修饰函数名。Flask 已经有一个static端点,用于从静态目录提供文件。重命名函数或传递endpoint='mystatic'route装饰器应该可以修复它。

URL 路由注册

于 2013-06-15T09:59:40.070 回答