How to add an HTTP header to all Django responses

前端 未结 2 2019
野性不改
野性不改 2020-12-30 20:41

I\'d like to add a few headers to all responses that my Django website returns. Is there a way to do this (besides adding a wrapper to the render function)?

2条回答
  •  [愿得一人]
    2020-12-30 21:22

    Yes, you should have a look at middlewares.

    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',
        ...,
    ]
    

提交回复
热议问题