Django создал папку staticfiles вместо папки static
Я не знаю, почему Django создал папку с именем staticfiles, а не static, как ожидалось. Это может быть причиной того, что я получил ошибку после выполнения python manage.py collectstatic:
The system cannot find the path specified: 'D:...\\static'
Мой файл настроек включает:
from pathlib import Path
import os
import django_heroku
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
Я уже пытался изменить 'staticfiles' на 'static' в STATIC_ROOT, но безуспешно.
Кто-нибудь может объяснить, зачем и как создавать папку с именем "static"?
Заранее большое спасибо!
Я считал, что ваши статические файлы размещены внутри вашего приложения (приложений)
Попробуйте удалить STATICFILES_DIRS, чтобы установка была такой:
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
... и попытайтесь повторно запустить python manage.py collectstatic
- Вот как работает
collectstatic:- Сначала он собирает статические файлы из
STATICFILES_DIRS, если таковые имеются, если в настройках нетSTATICFILES_DIRS, он собирает статические файлы из каждого приложения .
- Затем помещает их в
STATIC_ROOT, поэтому если ваши статические файлы размещены внутри ваших приложений, лучше удалитьSTATICFILES_DIRS.
- Сначала он собирает статические файлы из
Если все еще возникает ошибка, поделитесь структурой вашего проекта