django 앱에 파비콘을 표시해야합니까?
favicon.ico
내 staticfiles
디렉토리 에을 놓은 다음 내 앱에 표시하고 싶습니다.
어떻게하면?
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에 정적 파일이 고유하게 구성되어있어 가정합니다.
참고 : 이전 버전의 장고 사용하지는 load staticfiles
않습니다 load static
.
범용 솔루션
Django에서 다른 프레임 워크에서와 같은 방식으로 즐겨 찾기 아이콘을 표시 할 수 있습니다. 순수한 HTML 만 사용하십시오.
HTML 템플릿의 헤더에 다음 코드를 추가하십시오.
favicon이 응용 프로그램에서 동일하면 기본 HTML 템플릿에 더 좋습니다.
<link rel="shortcut icon" href="{% static 'favicon/favicon.png' %}"/>
이전 코드는 다음을 가정합니다.
- 정적 폴더에 'favicon'이라는 폴더가 있습니다.
- 파비콘 파일의 이름은 'favicon.png'입니다.
- 설정 변수 STATIC_URL을 선택 설정했습니다
Wikipedia https://ko.wikipedia.org/wiki/Favicon 가이드 에서 파일 형식 지원 및 즐겨 찾기 아이콘 사용 방법에 대한 유용한 정보를 사용할 수 있습니다 . 호환성을 범용 브라우저 위해 사용 하는 것이 좋습니다 ..png
편집 :
한 의견에 게시 된
" {% load staticfiles %}
템플릿 파일 맨 위에 추가하는 것을 잊지 마세요 !"
<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
가장 좋은 해결책은 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에서 다음 설정을 시도했습니다.
base.html
<head>
{% load static %}
<link rel="shortcut icon" type="image/png" href="{% static 'images/favicon.ico' %}"/>
</head>
settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'` <br>`.............
프로젝트 디렉토리 구조
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')))
]
모범 사례 :
당신이 생각하는 것과는 달리, 파비콘은 어떤 크기와 어떤 이미지 유형도 될 수 있습니다. 자세한 내용은이 링크를 살펴보십시오.
파비콘에 링크를 넣지 언어 페이지로드 속도가 느려질 수 있습니다.
django 프로젝트에서 favicon의 경로가 다음과 같다고 가정합니다.
myapp/static/icons/favicon.png
django 템플릿 (가급적이면 기본 템플릿)에서 다음 줄을 페이지 헤드에 추가합니다.
<link rel="shortcut icon" href="{% static 'icons/favicon.png' %}">
노트 :
정적 설정이 settings.py에 잘 구성되어있어 가정합니다.
파비콘을 다음 위치에 복사하십시오 : / yourappname / mainapp (ex : core) / static / mainapp (ex : core) / img
그런 다음 mainapp 템플릿 (예 : base.html)으로 이동하여 {% load static %} 후에 복사하십시오 . 먼저 정적을로드해야하기 때문입니다.
<link href="{% static 'core/img/favi_x.png' %}" rel="shortcut icon" type="image/png" />
참고 URL : https://stackoverflow.com/questions/21938028/how-can-i-get-a-favicon-to-show-up-in-my-django-app
'IT' 카테고리의 다른 글
레이크 0.9.0을 이미 활성화했지만 Gemfile에 레이크 0.8.7이 필요합니다. (0) | 2020.07.11 |
---|---|
UITextField 활성화 색 (0) | 2020.07.11 |
Android ListView 헤더 (0) | 2020.07.11 |
기본 소리 알림을 사용 하시겠습니까? (0) | 2020.07.11 |
임시 SSH 터널을 설정하기위한 Bash 펼쳐보기 (0) | 2020.07.11 |