如何从Django响应对象获取方案?

时间:2019-06-24 23:37:34

标签: python django

我正在尝试确定响应是HTTP还是HTTPS,但是查看dir(response)并没有表明这种可能性。我在这里查看了Django文档:https://docs.djangoproject.com/en/2.2/ref/request-response/

我正在尝试编写一个在每次请求后都要调用的方法。我希望能够在scheme上致电response,但是显然这是不可能的。我想实现以下目标:

def callback_after_request(self, response):
    if response.scheme == 'https':
        # do something to the headers

我该如何实现?

1 个答案:

答案 0 :(得分:0)

HttpResponse对象是从视图中生成的,它们是在整个响应过程的早期阶段生成的,可以与任何方案关联。

方案(和相关资源)通常由Web服务器在应用程序层确定,即与用户代理最初连接的面向用户的服务器。

OTOH,如果要获取请求的方案,可以使用request.scheme