首页 > 解决方案 > 如何使用 Django 和 Whitenoise 为 favicon.ico 提供服务器

问题描述

我对静态文件使用白噪声,它工作正常。

但是我怎样才能提供/favicon.ico文件?

有一个名为WHITENOISE_ROOT的设置,但我不明白如何使用它。

我想保持我的 nginx 配置简单并通过 gunicorn 提供所有文件

标签: djangowhitenoise

解决方案


如果您希望这些文件由collectstatic

让我们假设在运行之后collectstatic,您的favicon.ico文件最终被复制到root位于您的STATIC_ROOT目录中的子目录中。

然后,使用:

WHITENOISE_ROOT = os.path.join(STATIC_ROOT, 'root')

Whitenoise 将在STATIC_ROOT/root/您的应用程序的根目录中提供所有文件。

在您的情况下,STATIC_ROOT/root/favicon.ico将在/favicon.ico.

如果您不希望这些文件由collectstatic

您可以在其中有一个root_staticfiles文件夹,BASE_DIR其中仅包含您要在其中提供的静态文件/

WHITENOISE_ROOT = os.path.join(BASE_DIR, 'root_staticfiles')

在这种情况下,Whitenoise 将在BASE_DIR/root_staticfiles/您的应用程序的根目录中提供所有文件。


推荐阅读