Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
289 views
in Technique[技术] by (71.8m points)

How to server favicon.ico with Django and Whitenoise

I use whitenoise for static files and it works fine.

But how can I serve the /favicon.ico file?

There is a setting called WHITENOISE_ROOT, but I don't understand how to use it.

I would like to keep my nginx config simple and serve all files via gunicorn

question from:https://stackoverflow.com/questions/65927187/how-to-server-favicon-ico-with-django-and-whitenoise

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you want those files to be managed by collectstatic

Let's assume after running collectstatic, your favicon.ico file ends up being copied in a root subdirectory, located in your STATIC_ROOT directory.

Then, with:

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

Whitenoise will serve all files in STATIC_ROOT/root/ at the root of your application.

In your case, STATIC_ROOT/root/favicon.ico will be served at /favicon.ico.

If you don't want those files to be managed by collectstatic

You can have a root_staticfiles folder in your BASE_DIR which simply contains the static files you want to serve at /.

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

In this case, Whitenoise will serve all files in BASE_DIR/root_staticfiles/ at the root of your application.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...