Команда collectstatic

Команда collectstatic применяется для автоматического сбора статических файлов (CSS, JavaScript, изображения) из всех установленных приложений и дополнительных директорий, указанных в настройке STATICFILES_DIRS, и копирования их в единую директорию, заданную параметром STATIC_ROOT. Это необходимо для правильной работы статики в продакшене, когда веб-сервер раздает файлы из одной общей папки. Команда также может удалять файлы, которые больше не используются.

Синтаксис

bashpython manage.py collectstatic [options]

Пример . Базовое использование

Для сбора всех статических файлов в директорию STATIC_ROOT выполните команду без дополнительных опций:

bashpython manage.py collectstatic

Результат выполнения команды:

bash"121 static files copied to '/var/www/myproject/static'."

Пример . С очисткой лишних файлов

Для удаления файлов из STATIC_ROOT, которые отсутствуют в исходных директориях, используйте опцию --clear:

bashpython manage.py collectstatic --clear

Результат выполнения команды:

bash"Deleted 5 stale static files."
"121 static files copied to '/var/www/myproject/static'."

Пример . Без интерактивного режима

Для автоматического подтверждения действия без запроса используйте опцию --noinput (полезно для CI/CD):

bashpython manage.py collectstatic --noinput

Результат выполнения команды:

bash"121 static files copied to '/var/www/myproject/static'."

Пример . С дополнительными опциями

Команда поддерживает различные опции для гибкой настройки процесса сбора статических файлов:

bashpython manage.py collectstatic --dry-run --verbosity 2

Результат выполнения команды:

bash"Copying '/home/user/project/static/css/style.css'"
"Copying '/home/user/project/static/js/script.js'"
"0 static files copied to '/var/www/myproject/static', 121 unmodified."

Смотрите также

  • команда runserver,
    которая запускает встроенный сервер разработки
  • команда findstatic,
    которая ищет статические файлы по указанному пути
  • команда migrate,
    которая применяет миграции к базе данных
  • команда test,
    которая запускает тесты проекта