Как исправить ошибку FileNotFoundError: [Errno 2] Нет такого файла или каталога:? (HEROKU)

Я пытаюсь вывести мое приложение Django + React на heroku. Я настроил путь для моих статических файлов в settings.py

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'app/laundryman_frontend/build/static')
]

Сборка успешна, когда я нажимаю на heroku, но когда я запускаю heroku run python manage.py collectstatic я получаю ошибку FileNotFoundError: [Errno 2] No such file or directory: '/app/laundryman_frontend/build/static'

это то, что установлено в BASE_DIR: BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Мое предположение заключается в том, что Heroku не ищет и не распознает путь, который я установил для статических файлов.

Помогите пожалуйста решить эту проблему

Логика фрагментов кода в вашем вопросе очень проста.

  1. Установите BASE_DIR в каталог, содержащий manage.py файл.

    BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
  2. Установите STATICFILES_DIRS относительно BASE_DIR.

    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'app/laundryman_frontend/build/static')
    ]
    

Если этот "алгоритм" не работает (т.е. каталог статических файлов вашего приложения Django установлен неправильно), то:

  • manage.py находится в неправильном месте, или
  • указанный вами относительный путь неверен, или (возможно)
  • некоторые материалы не были развернуты.

Возможно также, что collectstatic не сработало; см. https://devcenter.heroku.com/articles/django-assets

Вернуться на верх