Python 扭曲的,如何;putChild();用尾随斜杠?

Python 扭曲的,如何;putChild();用尾随斜杠?,python,twisted,Python,Twisted,我使用twisted创建了一个Web服务器,但是当我试图请求一个带有尾随斜杠的页面时,我得到了 “没有这样的资源-没有这样的子资源。” 我都试过了 self.putChild('login', Login(self)) self.putChild('/login/', Login(self)) self.putChild('/login', Login(self)) self.putChild('login/', Login(self)) 甚至尝试重写“getC

我使用twisted创建了一个Web服务器,但是当我试图请求一个带有尾随斜杠的页面时,我得到了

“没有这样的资源-没有这样的子资源。”

我都试过了

    self.putChild('login', Login(self))
    self.putChild('/login/', Login(self))
    self.putChild('/login', Login(self))
    self.putChild('login/', Login(self))
甚至尝试重写“getChildWithDefault”方法,并尝试请求带有斜杠和无斜杠的页面,它总是说路径是“login”,没有斜杠,因此它应该始终与第一行匹配,但出于w.e的原因没有


有人知道如何添加带有尾随斜杠的子资源吗?

您不能将斜杠传递给
putChild
;它将由URL遍历逻辑转义,因为参数是单个路径段

假设
Login
本身就是一个
资源
,您可以将自己放在自己身上,这样
/Login
/Login/
都可以工作,如下所示:

l = Login(self)
l.putChild("", l)
self.putChild("login", l)

当然,您可以将不带尾随斜杠的
/login
设置为您自己设计的资源,或添加斜杠的资源;以您喜欢的配置组合您的资源:)。

谢谢!我将
self.putChild(“,self)
添加到
登录的
\uuu init\uuuu
,现在它以我喜欢的方式工作,我可能会创建这样的子类,并将其用作我想要的页面的资源。如果您正在编写自己的
资源
类,您可能只想实现
getChild
来正确处理
,而不是依赖
putChild
putChild
主要用于安排静态资源集合,这些资源没有其他方式来了解彼此,但在您的情况下,
Login
知道它应该始终是自己的空段子资源…