Статические файлы django при размещении на хостинге heroku

У меня есть файлы excel в папке static, из которых я считываю некоторые данные, но файлы не находятся там, когда я развертываю проект

это мои настройки для конфигурирования статических файлов

STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_DIRS = [
    BASE_DIR / 'static'
]


STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Так я называю их в своих представлениях

from django.conf import settings
from django.templatetags.static import static
from django.contrib.staticfiles.storage import staticfiles_storage
from django.contrib.staticfiles.finders import find

def get_static(path):
    if settings.DEBUG:
        return find(path)
    else:
        return static(path)

def sport_news(request):
    path = 'excel\sport_update.xlsx'
    excel_data = excel(get_static(path))
    return render(request, 'news/news.html', {"excel_data":excel_data, 'type':'Sport News'})

пожалуйста, проверьте ваш файл settings.py но сначала

pip install whitenoise

в промежуточном ПО

'whitenoise.middleware.WhiteNoiseMiddleware',

в нижней части

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

затем ваш основной проект urls.py

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

и, пожалуйста, убедитесь, что у вас есть папка static cdn в файле settings.py

then run python manage.py collectstatic

если вы сделали все, что указано выше, но файл все равно не находится, убедитесь, что файл находится в папке static cdn, и если это не так, введите код снова после выполнения всех шагов, и все будет в порядке

если у вас ничего не получилось, сообщите мне

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