我有以下应用程序配置:
settings = {
'default_handler_class': BaseHandler
}
app = web.Application([
(r'/', IndexHandler),
(r'/ws', SocketHandler),
(r'/js/(.*)', web.StaticFileHandler, {'path': 'assets/js', 'default_filename': 'templates/error.html'}),
(r'/css/(.*)', web.StaticFileHandler, {'path': 'assets/css'}),
(r'/images/(.*)', web.StaticFileHandler, {'path': 'assets/images'})
], **settings)
当我输入http://localhost:8888/js/d3.min.js
文件时,会提供文件,但是当我拼错文件名并提供http://localhost:8888/js/d3.mi.js
例如我想获取我的默认错误页面时,它位于templates/error.html
. 对于像它这样的 URLhttp://localhost:8888/not/existing
工作正常,但http://localhost:8888/js/d3.mi.js
给我的只是简单的404: Not Found
.
我在文档中找到了以下部分:
要在请求目录时自动提供类似 index.html 的文件,请在应用程序设置中设置 static_handler_args=dict(default_filename="index.html") ,或添加 default_filename 作为 StaticFileHandler 的初始值设定项参数。
但是我不明白我应该在哪里指定提到的代码。在'default_filename': 'templates/error.html'
我的代码中不起作用。