Обновление: похоже, что это вызвано пакетом django-heroku и, в частности, унаследованным пакетом whitenoise, который в документации говорит, что вы должны поставить
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
в концефайла настроек, который я никогда не делал, но он все еще заставляет root быть папкой «staticfiles» вместо папки с ресурсами
Исходное сообщение:
Когда я запускаю python manage.pycollectstatic сохраняет в папку с именем staticfiles
Я должен был что-то сделать, чтобы это произошло, но я искал staticfiles и не нашел ссылки на него, кроме django.contrib.staticfiles.
Вот мои настройки.py:
INSTALLED_APPS = [
#some apps
'django.contrib.staticfiles',
#some more apps
'tz_detect',
]
# some more code
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
VENV_PATH = os.path.dirname(BASE_DIR)
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(VENV_PATH, 'media_root')
Ожидается, что при запуске Python manage.py collectstatic будет создана папка ресурсов, но этого не произойдет.
Папка staticfiles помимо файлов из статической папки также содержит папку tz_detect (из статических ресурсов из стороннего пакета), папку администратора и staticfiles.json
раздел middleware settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# some more middleware
'tz_detect.middleware.TimezoneMiddleware',
]