답변:
어디에나 포함 된 기본 또는 헤더 템플릿이 있다면 기본 HTML과 함께 즐겨 찾기 아이콘을 포함시키지 않겠습니까?
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}"/>
{{STATIC_URL}}favicon.ico
href="{% static 'favicon.ico' %}
가 없었습니다.
image/png
)과 파일 형식 ( favicon.ico
)이 일치하지 않습니다.
간단한 트릭은 urls.py
파일 에서 경로를 재지 정하는 것입니다 . 예를 들어 다음과 같이 뷰를 추가하십시오.
from django.views.generic.base import RedirectView
favicon_view = RedirectView.as_view(url='/static/favicon.ico', permanent=True)
urlpatterns = [
...
re_path(r'^favicon\.ico$', favicon_view),
...
]
이것은 호스트 할 다른 정적 컨텐츠가 없을 때 즐겨 찾기 아이콘이 작동하도록하는 쉬운 방법입니다.
Django에서 다른 프레임 워크에서와 같은 방식으로 즐겨 찾기 아이콘을 표시 할 수 있습니다. 순수한 HTML 만 사용하십시오.
HTML 템플릿의 헤더에 다음 코드를 추가하십시오.
favicon이 응용 프로그램에서 동일하면 기본 HTML 템플릿에 더 좋습니다.
<link rel="shortcut icon" href="{% static 'favicon/favicon.png' %}"/>
이전 코드는 다음을 가정합니다.
Wikipedia https://ko.wikipedia.org/wiki/Favicon 기사에서 파일 형식 지원 및 즐겨 찾기 아이콘 사용 방법에 대한 유용한 정보를 찾을 수 있습니다 . 범용 브라우저 호환성을 위해
사용 하는 것이 좋습니다 ..png
편집 :
한 의견에 게시 된
" {% load staticfiles %}
템플릿 파일 맨 위에 추가하는 것을 잊지 마십시오 !"
settings.py
루트 정적 파일 디렉토리를 추가 하십시오 .
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
창조하다 /static/images/favicon.ico
즐겨 찾기 아이콘을 템플릿 (base.html)에 추가하십시오.
{% load static %}
<link rel="shortcut icon" type="image/png" href="{% static 'images/favicon.ico' %}"/>
urls.py
브라우저 에서 즐겨 찾기 아이콘을 찾기 때문에 URL 리디렉션을 만듭니다./favicon.ico
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('images/favicon.ico')))
]
당신이 권한이 있다면
Alias /favicon.ico /var/www/aktel/workspace1/PyBot/PyBot/static/favicon.ico
가상 호스트에 별칭을 추가하십시오. robots.txt와 유사하게 (아파치 구성 파일에서)
Alias /robots.txt /var/www/---your path ---/PyBot/robots.txt
가장 좋은 해결책은 Django base.html 템플릿을 재정의하는 것입니다. 관리 디렉토리에 다른 base.html 템플리트를 작성하십시오. 관리 디렉토리가 없으면 먼저 작성하십시오.app/admin/base.html.
{% block extrahead %}
재정의 템플릿에 추가 합니다.
{% extends 'admin/base.html' %}
{% load staticfiles %}
{% block javascripts %}
{{ block.super }}
<script type="text/javascript" src="{% static 'app/js/action.js' %}"></script>
{% endblock %}
{% block extrahead %}
<link rel="shortcut icon" href="{% static 'app/img/favicon.ico' %}" />
{% endblock %}
{% block stylesheets %}
{{ block.super }}
{% endblock %}
django 2.1.1에서 다음 설정을 시도했습니다.
<head>
{% load static %}
<link rel="shortcut icon" type="image/png" href="{% static 'images/favicon.ico' %}"/>
</head>
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'` <br>`.............
/ yourappname / mainapp (ex : core) / static / mainapp (ex : core) / img에 즐겨 찾기 아이콘을 복사하십시오.
그런 다음 mainapp 템플릿 (ex : base.html)으로 이동하여 {% load static %} 후에 정적 을 먼저로드해야하므로 이를 복사하십시오 .
<link href="{% static 'core/img/favi_x.png' %}" rel="shortcut icon" type="image/png" />
모범 사례 :
당신이 생각할 수있는 것과는 달리, 파비콘은 임의의 크기 및 임의의 이미지 유형일 수있다. 자세한 내용은이 링크를 참조하십시오.
파비콘에 링크를 넣지 않으면 페이지로드 속도가 느려질 수 있습니다.
django 프로젝트에서 favicon의 경로가 다음과 같다고 가정하십시오.
myapp/static/icons/favicon.png
django 템플릿 (바람직하게는 기본 템플릿) 에서이 줄을 페이지 헤드에 추가하십시오.
<link rel="shortcut icon" href="{% static 'icons/favicon.png' %}">
노트 :
정적 설정은 settings.py에서 잘 구성되어 있다고 가정합니다.
GET /favicon.ico
있지 않은 오류는 관련이 없습니다. HTML 에도 불구하고 일부 브라우저 요청처럼 보입니다 .GET /static/favicon.ico
http://localhost:8000/static/favicon.ico
/favicon.ico