当前分类:python>>正文

django注册中间件自定义响应头

来源:互联网   时间:2022年6月23日   编辑

首先弄清楚什么是响应头。

我截个图,估计大家也就明白了

也就是说当你在浏览器中输入一个网址,发送请求的时候,对方服务器或者程序都会有一个响应。像上面截图的内容(包括红框里面的内容)就是一个响应头。

有时候,为了需要,我们需要自定义一个响应头

比如,Django程序响应头中默认是没有Product红框中这一项的,我就自己添加了,让访问者获得这个程序的相关版本信息。

再比如,django程序响应头中Referrer-policy默认是same-origin,那我想改为unsafe-url,应该怎么做呢?

两个步骤:

第一个步骤,在你的项目(和settings.py同目录)目录下创建一个.py文件,名字可以随意。

比如我用的是headers.py

接下来在headers.py中加入如下代码:

from django.utils.deprecation import MiddlewareMixin

class HttpResponseCustomHeader(MiddlewareMixin):
    def process_response(self, request, response):
        response['Referrer-Policy']='unsafe-url'
        if not response.has_header("Product"):
            response["Product"] = "lekuwang 1.1"
        return response

 

接下来打开settings.py文件,注册一下中间件。

上面的lekuwang是我的项目目录名,你注册的时候改成自己的就行。

完成这两步就算完事了。

接下来,我们只需要重启一下django项目,就可以看到响应头信息中包含了我们自定义的Product项以及修改过的Referrer-policy了。

[猜你喜欢]

标签: django 响应头