根据请求在 Django 中间件中添加自定义标头

ang*_*lex 6 django django-request

我想在 django 中实现一个中间件,它将在get_response(request)函数之前在请求的现有标头上附加一个标头。

不过,当这样尝试时:

request.headers['CUSTOM_HEADER'] = 'CUSTOM_VALUE'
Run Code Online (Sandbox Code Playgroud)

我收到错误:'HttpHeaders'对象不支持项目分配
另外,在django的请求(WSGIRequest)中,没有像python的请求模块那样的add_headers函数。
关于如何实现这一点有什么想法吗?

JPG*_*JPG 12

创建一个简单的中间件如下,并将路径放入settingsMIDDLEWARE

from django.utils.deprecation import MiddlewareMixin


class CustomHeaderMiddleware(MiddlewareMixin):
    def process_request(self, request):
        request.META['HTTP_CUSTOM_HEADER'] = "CUSTOM VALUE"
Run Code Online (Sandbox Code Playgroud)