Python 扭曲url操作路由

Python 扭曲url操作路由,python,twisted,twisted.web,twisted.internet,Python,Twisted,Twisted.web,Twisted.internet,例如,如果我有一个简单的TCP服务器: from twisted.internet import reactor from twisted.web.resource import Resource from twisted.web.server import Site from resources import SomeResource logging.info("Starting server...") root = Resource() root.putChild("test", So

例如,如果我有一个简单的TCP服务器:

from twisted.internet import reactor
from twisted.web.resource import Resource
from twisted.web.server import Site

from resources import SomeResource


logging.info("Starting server...")
root = Resource()
root.putChild("test", SomeResource())
reactor.listenTCP(8080, Site(root))
reactor.run()
例如,使用具有render\u GET和render\u POST方法的SomeResource。 然后我知道我可以发送一个POST/GET到hostname:8080/test

但现在我想让它变得更复杂,我想做一些类似于hostname:8080/test/status的事情


可以在SomeResource()中定义为方法吗?或者我必须为每个不同的url定义一个新的资源吗?

如果您需要转到/test/的所有内容。。。。要获得SomeResource的render(render\u get/render\u POST)方法,只需将其定义为:


如果您想查看“test/”之后的部分,request.postpath将包括该部分。

如果您想查看/test/…的所有内容。。。。要获得SomeResource的render(render\u get/render\u POST)方法,只需将其定义为:


如果您想查看“test/”之后的部分,request.postpath将包括该部分。

您好,谢谢您的回复!该解决方案是否类似于使用getChild方法然后重新调用它?不,不要这样做。这样,您将丢失请求中的信息(request.postpath)。您好,感谢您的回复!该解决方案是否类似于使用getChild方法然后重新调用它?不,不要这样做。这样会丢失请求中的信息(request.postpath)。我应该帮你。如果您的代码变得非常复杂,我会推荐Klein,它编写起来要简单得多。我应该帮你。如果您的代码变得非常复杂,我会推荐Klein,它编写起来要简单得多。
class SomeResource(Resource):
    isLeaf = True