如何将HTTP标头添加到所有Django响应

Cis*_*tin 23 django http http-headers

我想为我的Django网站返回的所有回复添加一些标题.有没有办法做到这一点(除了为render函数添加包装)?

Ant*_*ard 46

是的,你应该看看中间件.

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
Run Code Online (Sandbox Code Playgroud)

yourproject/settings.py

MIDDLEWARE = [
    ...,
    'yourapp.middleware.MyMiddleware',
    ...,
]
Run Code Online (Sandbox Code Playgroud)