Django:中间件信号监听器可以操纵请求对象吗?

时间:2012-03-21 16:52:03

标签: django django-signals django-middleware

基本上,我想要一个中间件来连接一个信号监听器,它将东西添加到请求对象中。然后可以将该信息包括在响应中。我目前有这个:

class SomeMiddleware:
    def process_request(self, request):
        request.signals_received = ["I can see this"]

        def listener(sender, **kwargs):
            print "I can see this too"
            request.signals_received.append("I can't see this")

        some_signal.connect(listener)

    def process_response(self, request, response):
        response.write(request.signals_received)
        return response

问题是,我看不到我在监听器中附加的内容。怎么了?

最终,监听器应该注册并行任务,这些任务可能会或可能不会及时完成,以便在渲染之前将它们添加到响应中。

修改 - 代码段中的引号

0 个答案:

没有答案