Files
edx-platform/openedx/core/storage.py
Matjaz Gregoric 266f593d2d Remove ThemingAware storage mixins and ComprehensiveThemeFinder.
Collectstatic failed in production when comprehensive theme contained custom css files.
This patch fixes that problem by removing ComprehensiveThemeFinder from STATICFILES_FINDERS
and ComprehensiveThemingAware mixin from STATICFILES_STORAGE.

Comprehensive theme static dirs are added to the top of the STATICFILES_DIRS entry,
which means that the default django FilesystemFinder will find theme static files,
and since the theme folder is at the top of STATICFILES_DIRS, theme files will take
precedence over default LMS/CMS static files.

This change means that theme static file URLs are no longer prefixed with themes/<theme-name>/,
but since we currently only support one comprehensive theme at a time, that shouldn't be a problem.
If/when we want to make the choice of a theme dynamic per-request (microsites?), we will have to
bring custom theme finders and storage mixins back, but for now, we don't need them.
2016-01-29 08:28:18 +01:00

33 lines
899 B
Python

"""
Django storage backends for Open edX.
"""
from django.contrib.staticfiles.storage import StaticFilesStorage, CachedFilesMixin
from pipeline.storage import PipelineMixin, NonPackagingMixin
from require.storage import OptimizedFilesMixin
class ProductionStorage(
OptimizedFilesMixin,
PipelineMixin,
CachedFilesMixin,
StaticFilesStorage
):
"""
This class combines Django's StaticFilesStorage class with several mixins
that provide additional functionality. We use this version on production.
"""
pass
class DevelopmentStorage(
NonPackagingMixin,
PipelineMixin,
StaticFilesStorage
):
"""
This class combines Django's StaticFilesStorage class with several mixins
that provide additional functionality. We use this version for development,
so that we can skip packaging and optimization.
"""
pass