본문 바로가기
App Programming/Django

[Django] 템플릿 (Templates) (1)

by goatlab 2023. 2. 1.
728x90
반응형
SMALL

템플릿 (Templates)

 

템플릿은 HTML 파일로써 프로젝트 폴더에 "templates" 서브 폴더를 만들고 그 안에 템플릿 파일 (*.html)을 생성한다. 템플릿을 사용해서 html 파일과 views.py를 이용해 연동할 수 있다.

 

다음 코드를 실행하여 base 폴더를 생성하고 그 안에 home과 room의 html을 만든다.

 

python manage.py startapp base
# home.html
<h1>Home Template</h1>
# room.html
<h1>Room Template</h1>

 

그 다음, base 폴더에서 urls.py 파일을 만들고 아래와 같이 작성한다.

 

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name = "home"),
    path('room/', views.room, name = "room"),
]

 

그리고 base 폴더의 views.py를 다음과 같이 작성한다.

 

from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

def room(request):
    return render(request, 'room.html')

 

프로젝트 폴더의 setting.py에서 템플릿에서 DIRS 경로를 설정해준다.

 

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            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',
            ],
        },
    },
]

 

프로젝트 폴더의 ulrs.py를 다음과 같이 작성한다.

 

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('base.urls'))
]

 

navbar.html

 

navbar.html을 템플릿 폴더 안에 생성한다. 네비게이션 바를 home.html 위에 include 시키면 다음과 같다.

 

<a href = "/">
    <h1>LOGO</h1>
</a>

<hr>
{% include 'navbar.html' %}

<h1>Home Template</h1>

728x90
반응형
LIST

'App Programming > Django' 카테고리의 다른 글

[Django] Admin (Room)  (0) 2023.02.17
[Django] 템플릿 (Templates) (2)  (0) 2023.02.02
[Django] URL's / Views  (0) 2023.02.01
[Django] 환경 설정  (0) 2023.02.01
장고 (Django)  (0) 2023.01.31