The fast collectstatic
for Django projects with S3 as storage backend.
Running Django's collectstatic
command can become really slow as more and more files are
added to a project, especially if heavy libraries such as jQuery UI are included in the source.
This is a custom management command that compares the md5 sum of files with S3 and completely
ignores modified_time
. The results of the hash lookups are cached locally using your default
Django cache. This can make deploying much faster!
Install the app using pip:
$ pip install Collectfast
Make sure you have this in your settings file and add 'collectfast'
to your INSTALLED_APPS
:
STATICFILES_STORAGE = "storages.backends.s3boto.S3BotoStorage"
AWS_PRELOAD_METADATA = True
INSTALLED_APPS = (
# …
'collectfast',
)
Collectfast overrides Django's builtin collectstatic
command so just run
python manage.py collectstatic
as normal. You can disable collectfast
by using the --ignore-etag
option.
Original idea taken from djangosnippets
Collectfast
by FundedByMe is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.