ビューまたはモジュールで関数を呼び出して、応答本文を更新したいと思います。
私の最初の考えは、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