Как обновить статические файлы Wagtail, они перестали работать, когда я использовал STATIC_DIRS
Я пытаюсь обновить Wagtail с версии 2.8 до последней версии 2.15. Также мне пришлось обновиться с Django 3.0 до 3.2. Однако я заметил, что когда я использую STATICFILES_DIRS, стиль админки Wagtail (2.15) искажается, как будто она использует файлы из старой версии (2.8)
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
...
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
STATICFILES_DIRS = [os.path.join(PROJECT_DIR, 'static'),]
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
И наоборот, когда я удаляю STATICFILES_DIRS, стиль в админке Wagtail исправляется, но все стили в моем проекте исчезают.
Я уже проверил, и это не кэш. Я пробовал это несколько раз, разные браузеры и т.д.
Попробуйте изменить:
STATICFILES_DIRS = [os.path.join(PROJECT_DIR, 'static'),]
to
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]
Ваша настройка STATICFILES_FINDERS
говорит Django, что он должен искать статические файлы в следующих местах:
FileSystemFinder
указывает ему искать в тех местах, которые указаны в STATICFILES_DIRS;AppDirectoriesFinder
указывает ему искать вstatic
папке каждого зарегистрированного приложения в INSTALLED_APPS.
При обычных обстоятельствах STATICFILES_DIRS не должен иметь значения для собственных статических файлов Wagtail. Это происходит потому, что статические файлы Wagtail хранятся в приложениях, составляющих пакет Wagtail, и будут подтягиваться AppDirectoriesFinder - FileSystemFinder (и STATICFILES_DIRS) в игру не вступают.
Тот факт, что вы видите разницу, говорит о том, что вы ранее настраивали JS / CSS Wagtail, размещая статические файлы в папке 'static' вашего проекта в таком месте, как myproject/static/wagtailadmin/css/
, чтобы переопределить встроенные файлы. Эти настройки предположительно были сделаны в Wagtail 2.8 и не будут работать корректно в Wagtail 2.15. Решением является удаление этих пользовательских файлов из вашего проекта.