WARNING Not Found: /favicon.ico
Question:
I’m new to Python and Django. I’m seeing this error message after I perform runserver, when trying to log in from my landing page,
$ python manage.py runserver
Running in development mode.
Running in development mode.
Running in development mode.
Running in development mode.
Validating models...
0 errors found
Django version 1.4b1, using settings 'platformsite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[21/Feb/2012 02:33:26] "GET /accounts/home/ HTTP/1.1" 200 10698
WARNING 2012-02-21 02:33:27,204 base 41333 4353703936 Not Found: /favicon.ico
[21/Feb/2012 02:33:30] "POST /accounts/home/ HTTP/1.1" 200 11098
WARNING 2012-02-21 02:33:30,581 base 41333 4362117120 Not Found: /favicon.ico
[21/Feb/2012 02:33:35] "POST /accounts/home/ HTTP/1.1" 200 10975
WARNING 2012-02-21 02:33:36,333 base 41333 4370530304 Not Found: /favicon.ico
[21/Feb/2012 02:33:57] "POST /accounts/home/ HTTP/1.1" 200 10975
WARNING 2012-02-21 02:33:57,670 base 41333 4349497344 Not Found: /favicon.ico
I’m on Python 2.7, Django 1.4, and OS X 10.7
What is this warning about and how do I get rid of it?
Answers:
Most browsers look for the existence of an file called favicon.ico at the root path of your website domain, this controls the icon for the website you can see in your bookmarks folder or the address bar of your browser.
If you don’t have one, then it’s valid that it would return a Not Found error.
Your browser is looking for a favicon that it can display in the Location Bar. Either give it one, or ignore the warning.
You can serve static files by sending the static_path
setting
as a keyword argument. We will serve those files from the
/static/
URI (this is configurable with the
static_url_prefix
setting), and we will serve /favicon.ico
and /robots.txt
from the same directory. A custom subclass of
StaticFileHandler
can be specified with the
static_handler_class
setting.
“””
When you deploy to something like Apache, you will have to alias your favicon in a config file. However, while running Django in development mode, the following works
urls.py:
from django.views.generic import RedirectView
from django.conf.urls import url
url_patterns=[
...
url(r'^favicon.ico$',RedirectView.as_view(url='/static/images/favicon.ico')),
]
Almost all Browsers usually look for the existence of a file called favicon.ico
at the root path of the website domain, this controls the icon for the website that we can see in the tabs, bookmarks folder or the address bar of the browser.
When the browser searches for favicon.ico
and does not find the same, then it is valid that it would return a Not Found error.
django.contrib.staticfiles.storage
provides staticfiles_storage
, which is an instance of your project’s configured static file storage. Storages have a URL method that “[r]eturns an absolute URL where the file’s contents can be accessed directly by a Web browser.”, which is exactly what the {% static %}
tag uses.
So {% static 'favicon.ico' %}
in a template is essentially equivalent to staticfiles_storage.url('favicon.ico')
in Python. We can add <link rel="icon" href="{% static 'base/icons/favicon.ico' %}">
under <head>
tag to the base.html
of django.
When we get such error in other domains with error code 404, the link for favicon can be added under <head>
section we can add <link>
as follows:
<link rel="icon" href="static/projectname/favicon.ico">
or
<link rel="shortcut icon" type="image/x-icon" href="base/icons/favicon.png"/>
Do not forget to add the required location of the icon file favicon.ico
, the issue will be resolved.
The favicon.ico
could be the logo of the company or anything the website is based upon.
An easy way to do it is to create an alias in your apache conf file:
<VirtualHost *:443>
...
Alias /favicon.ico /path/to/your/favicon.ico
...
</VirtualHost>
I was building a web api and ran into this as well. As it was just a demo project, I threw a dummy response at the browser to make the error go away. In the main urls.py
, I added my little fake view above it. Obviously, in production, you would just keep that icon in the static root, the location of which you set in the server config file.
from django.http import HttpResponse
def okay(request):
return HttpResponse('pretend-binary-data-here', content_type='image/jpeg')
urlpatterns = [
path('favicon.ico', okay),
...
]
-
I was facing same problem favicon.ico
not found.
-
I converted my image file to favicon.ico
from https://favicon.io/favicon-converter/.
-
After downloading the zip file, then created new folder by name favicon and copy all the file inside zip or you can extract to favicon folder.
-
After that I simply copied the favicon folder and pasted inside the static folder.
-
I update this line of code in urls.py
file, the folder in which our settings.py
file exist.
from django.urls import path
from . import views
from django.contrib.staticfiles.storage import staticfiles_storage
from django.views.generic.base import RedirectView
urlpatterns = [
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('favicon/favicon.ico')))
]
-
Probably my error get solved.
-
Hope this will help you!
I’m new to Python and Django. I’m seeing this error message after I perform runserver, when trying to log in from my landing page,
$ python manage.py runserver
Running in development mode.
Running in development mode.
Running in development mode.
Running in development mode.
Validating models...
0 errors found
Django version 1.4b1, using settings 'platformsite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[21/Feb/2012 02:33:26] "GET /accounts/home/ HTTP/1.1" 200 10698
WARNING 2012-02-21 02:33:27,204 base 41333 4353703936 Not Found: /favicon.ico
[21/Feb/2012 02:33:30] "POST /accounts/home/ HTTP/1.1" 200 11098
WARNING 2012-02-21 02:33:30,581 base 41333 4362117120 Not Found: /favicon.ico
[21/Feb/2012 02:33:35] "POST /accounts/home/ HTTP/1.1" 200 10975
WARNING 2012-02-21 02:33:36,333 base 41333 4370530304 Not Found: /favicon.ico
[21/Feb/2012 02:33:57] "POST /accounts/home/ HTTP/1.1" 200 10975
WARNING 2012-02-21 02:33:57,670 base 41333 4349497344 Not Found: /favicon.ico
I’m on Python 2.7, Django 1.4, and OS X 10.7
What is this warning about and how do I get rid of it?
Most browsers look for the existence of an file called favicon.ico at the root path of your website domain, this controls the icon for the website you can see in your bookmarks folder or the address bar of your browser.
If you don’t have one, then it’s valid that it would return a Not Found error.
Your browser is looking for a favicon that it can display in the Location Bar. Either give it one, or ignore the warning.
You can serve static files by sending the static_path
setting
as a keyword argument. We will serve those files from the
/static/
URI (this is configurable with the
static_url_prefix
setting), and we will serve /favicon.ico
and /robots.txt
from the same directory. A custom subclass of
StaticFileHandler
can be specified with the
static_handler_class
setting.
“””
When you deploy to something like Apache, you will have to alias your favicon in a config file. However, while running Django in development mode, the following works
urls.py:
from django.views.generic import RedirectView
from django.conf.urls import url
url_patterns=[
...
url(r'^favicon.ico$',RedirectView.as_view(url='/static/images/favicon.ico')),
]
Almost all Browsers usually look for the existence of a file called favicon.ico
at the root path of the website domain, this controls the icon for the website that we can see in the tabs, bookmarks folder or the address bar of the browser.
When the browser searches for favicon.ico
and does not find the same, then it is valid that it would return a Not Found error.
django.contrib.staticfiles.storage
provides staticfiles_storage
, which is an instance of your project’s configured static file storage. Storages have a URL method that “[r]eturns an absolute URL where the file’s contents can be accessed directly by a Web browser.”, which is exactly what the {% static %}
tag uses.
So {% static 'favicon.ico' %}
in a template is essentially equivalent to staticfiles_storage.url('favicon.ico')
in Python. We can add <link rel="icon" href="{% static 'base/icons/favicon.ico' %}">
under <head>
tag to the base.html
of django.
When we get such error in other domains with error code 404, the link for favicon can be added under <head>
section we can add <link>
as follows:
<link rel="icon" href="static/projectname/favicon.ico">
or
<link rel="shortcut icon" type="image/x-icon" href="base/icons/favicon.png"/>
Do not forget to add the required location of the icon file favicon.ico
, the issue will be resolved.
The favicon.ico
could be the logo of the company or anything the website is based upon.
An easy way to do it is to create an alias in your apache conf file:
<VirtualHost *:443>
...
Alias /favicon.ico /path/to/your/favicon.ico
...
</VirtualHost>
I was building a web api and ran into this as well. As it was just a demo project, I threw a dummy response at the browser to make the error go away. In the main urls.py
, I added my little fake view above it. Obviously, in production, you would just keep that icon in the static root, the location of which you set in the server config file.
from django.http import HttpResponse
def okay(request):
return HttpResponse('pretend-binary-data-here', content_type='image/jpeg')
urlpatterns = [
path('favicon.ico', okay),
...
]
-
I was facing same problem
favicon.ico
not found. -
I converted my image file to
favicon.ico
from https://favicon.io/favicon-converter/. -
After downloading the zip file, then created new folder by name favicon and copy all the file inside zip or you can extract to favicon folder.
-
After that I simply copied the favicon folder and pasted inside the static folder.
-
I update this line of code in
urls.py
file, the folder in which oursettings.py
file exist.from django.urls import path from . import views from django.contrib.staticfiles.storage import staticfiles_storage from django.views.generic.base import RedirectView urlpatterns = [ path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('favicon/favicon.ico'))) ]
-
Probably my error get solved.
-
Hope this will help you!