Статические файлы 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, и если это не так, введите код снова после выполнения всех шагов, и все будет в порядке
если у вас ничего не получилось, сообщите мне