我想在我的视图或任何模块中调用一个函数并让它更新响应正文。
我最初的想法是实现一个process_response
中间件来更新响应主体,并设置一个回调来接收在我的函数调用中发送的信号,但是当我尝试时,接收器永远不会触发(我已经在中间件之外测试了信号/接收器类/模块,它工作正常。
例子:
# in module that defines the signal
module.signal.send(msg='this is a message to append on the response body')
# in view or model
signal.connect(callback)
# in middleware.py
def callback(self, sender, *kwargs):
self.body_text = kwargs.pop('msg')
def process_response(self, request, response):
response.body = response.body + self.body_text
return response