为什么Favicon没有出现在生产中?

时间:2019-06-10 06:27:06

标签: python django reactjs django-staticfiles static-files

尽管Django的响应代码为200,Favicon仍未显示在选项卡中。静态文件位于“ myproject / build”(以及“ myproject / server”中的“ settings.py”,而应用程序位于“ myproject / blog”中) ')。尽管带有CSS和JS文件的HTML页面可以很好地提供服务。 “ favicon.ico”与“ index.html”页面位于同一目录

我试图在不同的浏览器中通过“ localhost:8000”地址打开一个页面,但我得到了同样的东西:选项卡中没有显示favicon。我还在开发人员选项中查看了“ Sources”: t任何“ favicon.ico”文件

settings.py:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'build/static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

urls.py(在“服务器/”中):

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('blog.api.urls')),
    re_path('.*', TemplateView.as_view(template_name='index.html'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

index.html(在“ build /”中):

<link rel="shortcut icon" href="/favicon.ico" />

控制台:

[10/Jun/2019 09:57:29] "GET /favicon.ico HTTP/1.1" 200 2242

UPD:我运行了命令python manage.py collectstatic,但仍然出现了favicon相同的问题

1 个答案:

答案 0 :(得分:4)

您的favicon位于静态文件夹中:

<link rel="shortcut icon" href="{% static 'favicon.ico' %}" />