Получите ошибку сервера 500 на Heroku с Django для определенных страниц с изображениями (статическое обслуживание WhiteNoise) - PullRequest
0 голосов
/ 10 февраля 2019

Последние пару часов я искал исправление в Переполнении стека, но большинство постов об ошибке 500 Server не могли предоставить мне исправления.Django не может найти статические изображения и возвращает 500. Изображения находятся в static / css / images.

например, я пытаюсь получить https://monkeyparliament.herokuapp.com/about/. Возвращаем логи:

2019-02-10T17:09:33.362724+00:00 app[web.1]: ValueError: Missing staticfiles manifest entry for 'css\images\donate.png'
2019-02-10T17:09:33.363611+00:00 app[web.1]: 10.31.121.50 - - [10/Feb/2019:17:09:33 +0000] "GET /about/ HTTP/1.1" 500 27 "https://monkeyparliament.herokuapp.com/music/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36"

Но когда я https://monkeyparliament.herokuapp.com/music/, кажется, он может найти шрифты css / js / fontsв статической папке.Не стесняйтесь проверять источник страницы.

Мои статические изображения обслуживаются WhiteNoise (http://whitenoise.evans.io/en/stable/). Как вы можете видеть выше, WhiteNoise соответствует требованиям. MIDDLEWARE в settings.py has 'whitenoise.middleware.WhiteNoiseMiddleware 'добавлено ниже django.middleware.security.SecurityMiddleware'.

Почему мои изображения не найдены?

Procfile

web: gunicorn websitemp.wsgi:application --log-file -

Requirements.txt

dj-database-url==0.5.0
Django==2.0.10
gunicorn==19.9.0
psycopg2==2.7.7
pytz==2018.9
whitenoise==4.1.2

Структура

сайт - это приложение, сайт - проект

enter image description here

Проект на Github

Если вы хотите увидеть полную структуру, вы можете найти все файлы на Github: https://github.com/DennisVerstappen/websitempdjango

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Спасибо, что подумали.Попробовав ваши решения, я заметил, что косые черты в

{% static 'css\images\donate.png' %} 

отличаются от косых черт в других файлах Python в журналах.Изменение обратной косой черты на прямую, решило мою проблему.Обозначение системы папок, которое я использовал (Windows), отличалось от того, которое использует Heroku.Использование обозначений ниже сработало.

{% static 'css/images/donate.png' %}
0 голосов
/ 11 февраля 2019

Создайте пустую папку staticfiles в вашем основном каталоге.

После этого запустите python manage.py collectstatic

После этого он должен быть заполнен всеми статическими активами из всех приложений.

Примечание: чтобы держать вещи отдельно, вы можете на самом деле переместить static папка в Website-Application - не должно иметь значения

...