본문 바로가기

Python/Django

[Django] Django - (맛보기)Template

이번에는 Template에 대해서 알아보겠습니다. Template을 사용하기 위해서는 render 함수를 사용해야 한다.

아래의 절차대로 진행하면 template을 이용하여 view 를 구현할 수 있다.

 

 

  • 프로젝트의 settings.py 설정파일 수정 - 프로젝트 폴더 하위에 templates 폴더 생성(/my_site/templates/)
# 패키지 추가
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',

# 'BASE_DIR'를 기준으로 'templates/' 위치 지정
        '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',
            ],
        },
    },
]

 

 

  • ./my_site/first_app/views.py - view 추가 및 template 파일 지정(html 파일위치는 templates 제외한 이하 위치)
from django.shortcuts import render
from django.http.response import HttpResponse, Http404, HttpResponseNotFound, HttpResponseRedirect
from django.urls import reverse

# Create your views here.
def simple_view(request):
    return render(request, 'first_app/example.html') # .html

 

 

  • ./my_site/first_app/urls.py - url과 view 매핑
from django.urls import path
from . import views

urlpatterns = [
    path('', views.simple_view) # domain.com/first_app
]

 

 

  • ./my_site/templates/first_app/example.html 생성 - 설정파일의 위치에 근거해서 파일 생성
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Template sample</title>
</head>
<body>
    <h1>Example HTML connected~~</h1>
</body>
</html>

 

 

 

  • 실행화면