compilestatic
management command¶
Django Static Precompiler includes a management command compilestatic
. It will scan your static files for source
files and compile all of them.
You can use this command in conjunction with STATIC_PRECOMPILER_DISABLE_AUTO_COMPILE
setting if you use custom
STATICFILES_STORAGE
such as S3 or some CDN. In that case you can should run compilestatic
every time when your
source files change and then run collectstatic
.
Sometimes it may be useful to prevent dependency tracking when running compilestatic
, for example when you don’t
have access to a database (building a Docker image). Use --ignore-dependencies
option to disable the dependency
tracking.
--delete-stale-files
option may be used to delete compiled files that no longer have matching source files.
Example: you have a styles.scss
which get compiled to styles.css
. If you remove the source file styles.scss
and run compilestatic --delete-stale-files
it will compile the files as usual, and delete the stale styles.css
file.
You can run compilestatic
in watch mode (--watch
option). In watch mode it will monitor the changes in your
source files and re-compile them on the fly. It can be handy if you use tools such as
LiveReload.
You should install Watchdog to use watch mode or install django-static-precompiler
with the watch
extra:
$ pip install django-static-precompiler[watch]