退回到Tornad提供静态内容

2024-09-30 08:15:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是龙卷风,我有一个这样的装置:

application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/wiki/(.+)", WikiHandler),
    (r"/static/(.*)", tornado.web.StaticFileHandler, {"path": "./static/"})
], template_path = 'templates')

我现在要解决的问题是在某些情况下将select查询从/wiki/转发到静态处理程序。现在,处理程序如下所示:

^{pr2}$

我想做的是有一个StaticFileHandler,它首先为/wiki/中的路径调用,如果失败,那么请求将被转发到我的处理程序。是否有一些简单的配置方法可以做到这一点,或者我必须将StaticFileHandler子类化并手动处理其中的404?在


Tags: pathweb处理程序applicationwiki情况statictemplate
1条回答
网友
1楼 · 发布于 2024-09-30 08:15:07

目前不可能让一个处理程序无缝地委托给另一个处理程序,而且StaticFileHandler特别难以以这种方式集成,因为它假定url和etag之间存在静态映射(如果在服务器运行时可以修改磁盘上的文件,那么您可能不需要StaticFileHandler!)。我的第一个建议是设计URL空间,这样就可以通过URL上的regex来区分静态和动态部分。在

如果不能这样做,那么最好扩展当前使用的处理程序来添加StaticFileHandler所需的特性,而不是尝试装配两个单独的处理程序。在

相关问题 更多 >

    热门问题