Я полностью в тупике. Я написал приложение Django, которое размещается на A2 и обслуживается через wsgi для пассажиров. Он функционирует в разработке, но при развертывании завершается с ошибкой:
Не удалось загрузить ресурс: сервер ответил со статусом 502 (Bad Gateway)
/favicon.ico:1
Итак, я полагаю, что приложение не может найти значок приложения. У меня есть index.html, который содержит в заголовке следующее:
<link rel="shortcut icon" href="{% static 'icons/favicon.ico' %}"
type="image/x-icon" />
Кажется, это не так. Я попытался добавить его в мои app.urls как представление:
from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
from django.views.generic.base import RedirectView
from django.conf import settings
favicon_view = RedirectView.as_view(url='static/favicon.ico',
permanent=False)
urlpatterns = [
path('admin/', admin.site.urls),
path('resume/', include('resume.urls')),
path('favicon.ico', favicon_view),
]
Снова работает в dev, а не в развертывании. Я не уверен, если это проблема с моей статической папкой или что. Я понимаю, что в favicon.ico есть множество потоков, но ни один из них не выглядит особенно актуальным (для Ruby on Rails), или я уже пробовал решения, описанные выше, но это не удалось. Любые идеи о том, как пройти эту ошибку favicon.ico 502?
Вот мой соответствующий код settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'public')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'tmp')
А вот дерево моего проекта с указанными местоположениями favicon.ico:
app
- app
- __init__.py
- settings.py
- urls.py
- wsgi.py
- public
- icons/favicon.ico
- resume
- static
- icons/favicon.ico
- favicon.ico
- templates
- templatetags
- (python files)
- tmp
- (empty)
- favicon.ico
- manage.py
- passenger_wsgi.py