[django] django 앱에 파비콘을 표시하려면 어떻게해야합니까?

favicon.icostaticfiles디렉토리 에을 놓은 다음 내 앱에 표시하고 싶습니다.

어떻게하면됩니까?

favicon.ico파일을 staticfiles디렉토리 에 넣었 지만 표시되지 않고 내 로그에 표시됩니다.

127.0.0.1 - - [21/Feb/2014 10:10:53] "GET /favicon.ico HTTP/1.1" 404 -

에 가면 http://localhost:8000/static/favicon.ico파비콘을 볼 수 있습니다.



답변

어디에나 포함 된 기본 또는 헤더 템플릿이 있다면 기본 HTML과 함께 즐겨 찾기 아이콘을 포함시키지 않겠습니까?

<link rel="shortcut icon" type="image/png" href="{% static '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),
    ...
]

이것은 호스트 할 다른 정적 컨텐츠가 없을 때 즐겨 찾기 아이콘이 작동하도록하는 쉬운 방법입니다.


답변

템플릿 파일에서

{% load static %}

그런 다음 <head>태그 내

<link rel="shortcut icon" href="{%  static 'favicon.ico' %}">

settings.py에 정적 파일이 적절하게 구성되어 있다고 가정합니다.


참고 : 이전 버전의 Django는 사용 load staticfiles하지 않습니다 load static.


답변

범용 솔루션

Django에서 다른 프레임 워크에서와 같은 방식으로 즐겨 찾기 아이콘을 표시 할 수 있습니다. 순수한 HTML 만 사용하십시오.

HTML 템플릿의 헤더에 다음 코드를 추가하십시오.
favicon이 응용 프로그램에서 동일하면 기본 HTML 템플릿에 더 좋습니다.

<link rel="shortcut icon" href="{% static 'favicon/favicon.png' %}"/>

이전 코드는 다음을 가정합니다.

  1. 정적 폴더에 ‘favicon’이라는 폴더가 있습니다.
  2. 파비콘 파일의 이름은 ‘favicon.png’입니다.
  3. 설정 변수 STATIC_URL을 올바르게 설정했습니다

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')))
]


답변

<link rel="shortcut icon" href="{% static 'favicon/favicon.ico' %}"/>

첫 번째 답변과 같은 기본 파일에 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