precompressed is a pluggable application for Django developers who want to serve precompressed (gzipped) static files.
Project description
django-precompressed
precompressed is a pluggable application for Django developers who want to serve precompressed (gzipped) static files.
About
Alters the behavior of ./manage.py collectstatic to save gzipped copies of specified static files (by default *.css and *.js).
When the client supports Content-Encoding: gzip and {% static %} is used then the rendered URI will refer to the precompressed version of the static file.
Works with [CachedFilesMixin](https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#cachedstaticfilesstorage) and [storages.backends.s3boto.S3BotoStorage](http://django-storages.readthedocs.org/)
Installation
pip install django-precompressed
Add precompressed to your settings.INSTALLED_APPS before ‘django.contrib.staticfiles’ so that precompressed’s version of {% static %} will be utilized.
Set settings.STATICFILES_STORAGE to one that suits your needs (see Storages below).
Run ./manage.py collectstatic to generate precompressed copies.
Utilize {% static %} template tag when referencing static files where applicable.
Configuration
All settings are optional and specified via the settings.PRECOMPRESSED_SETTINGS dictionary.
GZIP_PATTERNS is a tuple of file patterns that are to be gzipped. Defaults to (‘*.css’, ‘*.js’)
DEFAULT_COMPRESS_LEVEL is a number 0-9 that specifies the default compression level. Defaults to 9.
accepts_gzip(request) is a function that returns True if the client supports Content-Encoding: gzip
get_gzipped_name(name) is a function that translates filenames and URIs to the precompressed version. Defaults to resource.ext becomes resource.gz.ext
should_save_gzipped_copy(path) is a function that returns True if the specified file should have a precompressed copy saved. Defaults to file matches GZIP_PATTERNS?
Storages
precompressed.storage.PrecompressedStaticFilesStorage precompressed.storage.CachedPrecompressedStaticFilesStorage
These storages extend Django’s builtin StaticFilesStorage to provide the described precompression behavior. If you use this you’ll probably want to configure your webserver to add the Content-Encoding: gzip header when serving precompressed files.
precompressed.storage.s3boto.PrecompressedS3BotoStorage precompressed.storage.s3boto.CachedPrecompressedS3BotoStorage
These storages extend [django-storages’ S3BotoStorage](http://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html) to provide described precompression behavior for files stored on [Amazon Simple Storage Service (Amazon S3)](http://aws.amazon.com/s3/)
The Cached prefixed versions of each utilize [CachedFilesMixin](https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#cachedstaticfilesstorage) and therefore store hashed copies of static files in addition to the precompressed versions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-precompressed-0.0.2.tar.gz.
File metadata
- Download URL: django-precompressed-0.0.2.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0d0f021765d4d87c7a8eefe5611b1d7ec9731ecc361ef4baa62ec68fe50bad1
|
|
| MD5 |
be25f2d5fb6fc56d8ebd718948381804
|
|
| BLAKE2b-256 |
c636aa7aa4891c9af1b11ad082eb0b1d0f130cb6e61150c4d0bd4f68cadbbfa3
|