I think the standard approach you talked about is the best; create a settings folder with three settings files; shared.py , production.py and development.py . Settings that are common to all instances of your application are placed in shared.py , and this is imported from production.py and development.py . Then you can easily add compressor to your development settings.
shared.py
INSTALLED_APPS = (...)
development.py
from settings.shared import * INSTALLED_APPS += ('compressor',)
You need to make sure that during development you start the development server using the development.py settings file:
python manage.py --settings=settings.development
and similarly on your production server you do the same for production.py (it depends on your implementation)
This is a much better approach in the long run, as you can also specify individual cache, database, search, etc. settings.
As a third-party, instead of completely removing the compressor from installed applications, you can simply turn it on and off using the COMPRESS_ENABLED parameter
source share