如何在django中间件中修改重定向

时间:2018-02-13 03:17:30

标签: django redirect

如果重定向(HttpResponseRedirectBase)在django 中发生,我需要将http转换为https 。所以我想编写一个中间件来处理它。我已将中间件放在中间件列表的顶部,希望这是正确的。我使用了以下示例代码。但是当重定向发生时,url不是完整的url,而是相对的url。所以我不知道如何覆盖网址或架构(http或https)。我原以为我可以在响应中将http替换为https,但响应的内容也是空的。那我该怎么办?

class RedirectFilter(object):
    def process_response(self, request,response):
        print 1111111111111
        print response.status_code
        print request.path
        print response.__class__.__name__
        if isinstance(response,HttpResponseRedirectBase):
            print response.url
            print response.content
        return response

0 个答案:

没有答案