Я настраиваю сайт Heroku для развертывания приложения Django для школьного проекта.Проблема в статических файлах, использующих whitenoise в Django.
Быстрый контекст: Мое приложение состоит из формы, которая принимает 4 значения, которые я использую для быстрого математического вычисления внутри скрипта.Цель этого скрипта - выполнить вычисления, нарисовать график с помощью matplotlib и сохранить его в статической папке моего приложения django, заменив старую, если она уже существует.Этот статический файл используется для отображения на html-странице сайта.Локально Это работает как очарование, обновляя сюжет каждый раз, когда я отправляю новую форму.Но когда я пробую Heroku, он выдает
[Errno 2] Нет такого файла или каталога: '/Users/jeff/Desktop/trydjango/src/static/yield_curve.png'
когда я отправляю форму.
Вот settings.py
, что у меня есть относительно статических файлов:
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
Мой каталог выглядит так:
src
|-- /TER
|-- -- /settings.py
|-- /graph
|-- /static/...
|-- /staticfiles/...
|-- /manage.py
Я бы хотел, чтобы мой сайт обновлял изображение каждый раз, когда я отправляю форму, используя новую yield_curve.png
, которую я сохранил в статической папке.Если бы мне пришлось угадывать, я бы сказал, что это связано с тем, что статические файлы должны быть «статичными» и не изменяться со временем.