아이콘을 Django로 표시
Django로 브라우저 탭에 아이콘을 표시할 때 많이 막혀서 필기를 해야 돼요.
static 디렉토리 만들기
응용 프로그램의 프로젝트 디렉터리에
static
디렉터리와 templates
디렉터리를 만듭니다.static/icon
디렉토리에 아이콘 이미지를 배치합니다.아이콘은 무엇이든지 좋습니다. 이번에는 사이트 축소판 그림에서 발견한 아이콘을 사용합니다.
아이콘은 다음 디렉토리 구조로 저장하면 됩니다.
.
├── app
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── static
│ └── icon
│ └── favicon.ico
└── templates
settings.py 설정
먼저
settings.py
에 static 디렉터리의 경로를 설정합니다.import os
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
또한 템플릿 파일을 읽기 위해 TEMPLATES
에 DIRS
를 설정합니다.TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
템플릿 설정
templates/index.html
다음 파일을 만듭니다.{% load static %}
<html>
<head>
<link rel="icon" href="{% static '/icon/favicon.ico' %}">
</head>
<body>
<h1>Hello</h1>
</body>
</html>
HTML 설정 표시
HTML 출력을 위한 응용 프로그램을 만듭니다.
다음 명령을 사용하여 프로그램을 만듭니다.
python manage.py startapp hello
views.py 설정
hello/views.py
에 다음 코드를 추가합니다.from django.shortcuts import render
def index_template(request):
return render(request, 'index.html')
urls.py 설정
hello/urls.py
가 없을 것 같아서 다음 코드를 새로 만듭니다.from django.urls import path
from . import views
urlpatterns = [
path('view/', views.index_template, name='index_template'),
]
URL을 다시 설정해야 하므로 app/urls.py
다음과 같이 수정합니다.urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', include('hello.urls')),
]
동작 확인
그럼 필요한 파일을 준비했습니다. 다음 명령으로 프로그램을 시작합니다.
python manage.py runserver
localhost:8000/hello/view/
에 액세스한 후 아래와 같이 탭에 아이콘을 표시하면 됩니다.총결산
아이콘뿐만 아니라 static 파일을 처리할 때
STATICFILES_DIRS
에서 static 디렉터리의 경로를 설정합니다{% load static %}
에서 static 디렉터리를 사용하는 경로를 호출{% static 'ファイルパス' %}
Reference
이 문제에 관하여(아이콘을 Django로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kmiura55/articles/django-use-static텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)