Не удается найти Favicon.ico в приложении Django, что приводит к ошибке 502 - PullRequest
0 голосов
/ 09 сентября 2018

Я полностью в тупике. Я написал приложение 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
...