コード例 #1
0
 def handle(self, **kwargs):
     from django.conf import settings
     import os
     if hasattr(settings,"APP_MEDIA_ROOT"):
         for appname,mediadir in media_dirs(settings.INSTALLED_APPS):
             if os.path.isdir(os.path.join(mediadir,appname)):
                 os.system("rsync -avc %s/ %s" % (mediadir,settings.APP_MEDIA_ROOT))
             else:
                 os.system("rsync -avc %s/ %s" % (mediadir,os.path.join(settings.APP_MEDIA_ROOT,appname)))
コード例 #2
0
    def process_response(self, request, response):
        if not hasattr(settings, "SITE_MEDIA_PREFIX"):
            return response

        for appname, mediadir in media_dirs(settings.INSTALLED_APPS):
            exp = "(%s%s)(.*)" % (settings.APP_MEDIA_PREFIX, appname)
            result = re.match(exp, request.path)
            if result:
                base, path = result.groups()
                if os.path.isdir(os.path.join(mediadir, appname)):
                    return django.views.static.serve(request, path, os.path.join(mediadir, appname))
                else:
                    return django.views.static.serve(request, path, mediadir)

        exp = "(%s)(.*)" % settings.SITE_MEDIA_PREFIX
        result = re.match(exp, request.path)
        if result:
            base, path = result.groups()
            return django.views.static.serve(request, path, settings.SITE_MEDIA_ROOT)

        return response