我完全迷住了。我已经编写了一个由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