Проблема статического корня - статические файлы не загружаются при развертывании на pythonanwhere
В настоящее время я пытаюсь развернуть свой проект и не могу заставить свои статические файлы работать правильно, как они работали в моей локальной среде с помощью команды collectstatic. Служба, на которой я разворачиваю проект, это pythonanywhere - вот где я сейчас нахожусь. Любая помощь будет очень признательна!
settings.py
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
BASE_DIR/"static"/"images",
BASE_DIR/"static"/"css"
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')
MEDIA_URL = '/images/'
LOGIN_REDIRECT_URL = 'home'
LOGIN_URL = 'login'
Попробуйте указать каталог STATIC_ROOT в настройках (это место, где файлы будут собираться collectstatic, так что, возможно, у вас уже есть такой каталог), например
STATIC_ROOT = os.path.join(BASE_DIR, "static")
Далее, убедитесь, что на вкладке webpage значение Directory включает имя этой папки - в данном случае это будет home/HFShippingLLC/mysite/static. По сути, это должно быть то же значение, что и static_root.
Значение URL на веб-вкладке не добавляется к значению каталога, и именно здесь, как мне кажется, вы могли зайти в тупик. Вместо этого, это псевдоним - поэтому, когда браузер запрашивает /static/, он ищет home/HFShippingLLC/mysite/static
В этом вопросе есть отличное объяснение различных настроек STATIC: Различия между STATICFILES_DIR, STATIC_ROOT и MEDIA_ROOT
Я нашел свой ответ, сделав множество изменений, все из которых соответствовали этому ответу, найденному ниже - а также этому руководству по изучению django, ссылку на которое я также приведу здесь:
Почему установка DEBUG=False делает мой django Static Files Access неудачным?