How to add an HTTP header for all Django answers

I would like to add a few headers to all the answers that my Django site returns. Is there a way to do this (besides adding a wrapper to the render function)?

+8
source share
1 answer

Yes, you should take a look at middlewares .

Django> = 1.10

YourApp / middleware.py

 class MyMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): response = self.get_response(request) response['X-My-Header'] = "my value" return response 

yourproject / settings.py

 MIDDLEWARE = [ ..., 'yourapp.middleware.MyMiddleware', ..., ] 

Django <= 1.9

YourApp / middleware.py

 class MyMiddleware: def process_response(self, request, response): response['X-My-Header'] = "my value" return response 

yourproject / settings.py

 MIDDLEWARE_CLASSES = [ ..., 'yourapp.middleware.MyMiddleware', ..., ] 
+21
source

All Articles