Почему Twisted resource.Resource выполняют render () дважды? - PullRequest
1 голос
/ 27 марта 2012

Я новичок в 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()

1 Ответ

2 голосов
/ 27 марта 2012

Поскольку ваш веб-браузер запрашивает favicon.ico.Если вы напечатаете request.postpath в вашем render методе, вы увидите, что только один из запросов попадает на ожидаемую вами страницу.

...