Django:我怎样才能将中间件操作仅应用于某些文件类型?

时间:2011-04-05 20:21:09

标签: python django http

我在Django工作,我想只将一些中间件应用于HTML页面 - 而不是图像,js,css等。这是为了减少服务器上的请求数量。

这是我的中间件代码:

class checkLdapUser:
    def process_request(self, request):
        if response.META['CONTENT_TYPE'] is 'text/html':
            # check the LDAP user here
        else:
            return None   

如何查看CONTENT_TYPE

谢谢!

更新:

工作代码:

def process_response(self, request, response):
    if response.get('Content-Type', '')=='text/html':
        # do stuff
    return response

1 个答案:

答案 0 :(得分:2)

您走在正确的轨道上,但您需要将该代码放在process_response而不是process_request中。后者在您的视图代码处理请求之前运行,因此它无权访问响应及其内容类型。