gpt4 book ai didi

python - 资源的 getChild 没有调用扭曲

转载 作者:可可西里 更新时间:2023-11-01 17:11:02 32 4
gpt4 key购买 nike

我不是 python twisted 方面的专家,请帮我解决我的问题,当我尝试路径 localhost:8888/dynamicchild 时,getChild 没有调用。甚至在我的资源中将 isLeaf 设为 False。

根据我的理解,当我尝试 localhost:8888 它应该返回蓝页当然它正在发生但是每当我尝试 localhost:8888/somex 语句打印“getChild called ” 应该打印在屏幕上,但现在它没有发生

from twisted.web import resource 

from twisted.web import server
from twisted.internet import reactor

class MyResource(resource.Resource):
isLeaf=False
def render(self,req):
return "<body bgcolor='#00aacc' />"

def getChild(self,path,request):
print " getChild called "


r=resource.Resource()
r.putChild('',MyResource())
f=server.Site(r)
reactor.listenTCP(8888,f)
reactor.run()

最佳答案

那是因为它是您发送到 server.Site 构造函数的根资源,其 getChild 方法被调用。

尝试这样的事情:

from twisted.web import resource 

from twisted.web import server
from twisted.internet import reactor

class MyResource(resource.Resource):
isLeaf=False

def __init__(self, color='blue'):
resource.Resource.__init__(self)
self.color = color

def render(self,req):
return "<body bgcolor='%s' />" % self.color

def getChild(self,path,request):
return MyResource('blue' if path == '' else 'red')

f=server.Site(MyResource())
reactor.listenTCP(8888,f)
reactor.run()

请求“/”现在将返回蓝色背景,其他所有内容将返回“红色”。

关于python - 资源的 getChild 没有调用扭曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14767805/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com