【问题标题】:Favicon redirect in django 2.0django 2.0 中的 Favicon 重定向
【发布时间】:2018-07-19 06:22:48
【问题描述】:

我正在尝试重定向 /favicon.ico 的默认浏览器请求以从我的静态文件夹中提供图片,我得到了 404(server log screenshot)。

settings.py

​​>
STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")

urls.py

​​>
from django.contrib import admin
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import include, path
from django.views.generic.base import RedirectView


urlpatterns = [
    path('admin/', admin.site.urls),
    path(
        'favicon.ico',
        RedirectView.as_view(url=staticfiles_storage.url('upload.ico'))
    ),
    path('', include('uploader.urls'))
]

我的目录结构:

  ../  
  ├ imguploader/  
  |  ├  __init__.py  
  |  ├  settings.py
  |  ├  urls.py
  |  └  wsgi.py
  ├  static/  
  |  ├  admin/  
  |  └  upload.ico
  ├ manage.py
  |...

【问题讨论】:

  • 你运行 collectstatic 了吗?
  • 是的,这就是管理文件夹在 static/ 中的原因
  • upload.ico 的文件权限?

标签: django python-3.x redirect favicon


【解决方案1】:

您可以在 settings.py 中设置 STATICFILES_DIRS,对我有用:

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

urls.py:

from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.views.generic.base import RedirectView

urlpatterns = [
    path('favicon.ico', RedirectView.as_view(url=settings.STATIC_URL + 'favicon.ico')),
    path('admin/', admin.site.urls),
]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 2019-11-12
    相关资源
    最近更新 更多