我是Twisted的新手。为什么要两次打印“render()”?我知道如果我返回server.NOT_DONE_YET,它只会打印一次,但我希望返回string / JSON。有什么帮助吗?
代码:
from twisted.web import resource, server
from twisted.internet import reactor
import simplejson
class WResource(resource.Resource):
isLeaf=True
def __init__(self):
print "resource started"
def render(self, request):
print "render()"
request.setHeader('Content-Type', 'application/json')
return simplejson.dumps(dict(through_port=8080, subdomain='hello'))
reactor.listenTCP(9000, server.Site(WResource()))
reactor.run()
输出:
> python server.py
resource started
render()
render()
答案 0 :(得分:2)
因为您的网络浏览器正在请求favicon.ico
。如果您在request.postpath
方法中打印render
,则会看到只有一个请求正在访问您期望的页面。