在Django应用中找不到Favicon.ico,导致502错误

时间:2018-09-09 19:20:49

标签: python django passenger wsgi favicon

我完全迷住了。我已经编写了一个由A2托管的Django应用程序,并通过乘客wsgi提供服务。它在开发中起作用,但在部署时失败,并显示以下错误:

无法加载资源:服务器响应状态为502(错误的网关) /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错误的任何想法?

这是我的相关设置。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

0 个答案:

没有答案