如何显示静态文件的自定义404错误页面?
在我当前的应用程序处理程序中,我添加了最后一个模式,如下所示
[
(r'/(favicon.ico)', tornado.web.StaticFileHandler, {"path": mypath}),
(r'/foo',FooHandler),
(r'/bar',BarHandler),
(r'/(.*)',ErrorHandler),
]
这是我的错误处理程序
class ErrorHandler(BaseHandler):
def get(self,d):
self.status_code = 404
self.show404(d)
如果我访问http://localhost/abc
我将收到自定义404页面
但如果我尝试http://localhost/static/abc.js
我会收到如下所示的丑陋错误
line 2286, in validate_absolute_path
raise HTTPError(404)
HTTPError: HTTP 404: Not Found
有没有办法让这个工作?如何显示静态文件的自定义错误页面
答案 0 :(得分:1)
这有点棘手;您需要子类化StaticFileHandler并覆盖其write_error方法,然后使用static_handler_class应用程序设置安装该类。