更优雅的方式来忽略Django中间件中的静态URL?

时间:2015-08-30 21:03:13

标签: python django django-middleware

中间件-向导,

我想知道是否有一种更优雅的方式来确定请求是否提供我的自定义视图方法之一或者更确切地说是静态内容等?

class MyMiddleware(object):
    def process_view(self, request, view_func, view_args, view_kwargs):
        if view_func.__name__ != 'serve':
            # do something here
        return None

1 个答案:

答案 0 :(得分:3)

如果您仅通过STATIC_URL投放静态文件,则可以查看request.path。 (process_request

def process_request(request):
    if request.path.startswith(settings.STATIC_URL):
        # do something here

无论如何,只有在开发过程中才适用通常是apache或nginx,或者某些CDN正在提供静态文件,这些请求永远不会打到您的django应用程序。