如何将多个目录的串联静态地提供给扭曲的单个路径?

时间:2013-11-01 05:46:46

标签: static twisted

这将在“静态”中提供“tmp”的内容:

from twisted.web.static import File
resource = File("/tmp")
root = Resource()
root.putChild("static", resource)

如何在静态服务中提供/ tmp和/ tmp2的内容?

1 个答案:

答案 0 :(得分:2)

我会写一个小Resource来调度子Resources(每个目录Files)。这是一些说明这个想法的伪代码:

class MyResource(Resource):
    def __init__(self, dir_a, dir_b):
         self.a = File(dir_a)
         self.b = File(dir_b)

    def render_GET(self, request):
         if request.path handled by self.a:
             return self.a.render_GET(request)
         elif request.path handled by self.b:
             return self.b.render_GET(request)
         else:
             return 404 not found request

root.putChild("static", MyResource('/tmpa', '/tmpb'))

要实施request.path handled by self.X,请查看File.getChild。你可能需要做一些路径修改(可能不是)。