이번에는 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>
- 실행화면
'Python > Django' 카테고리의 다른 글
[Django] Django - variable 전달 (0) | 2022.10.26 |
---|---|
[Django] Django - (맛보기 migrate)App별 template 디렉토리 (0) | 2022.10.25 |
[Django] Django - (맛보기)reverse (0) | 2022.10.20 |
[Django] Django - (맛보기)Redirect (0) | 2022.10.19 |
[Django] Django - (맛보기)404 예외처리 (0) | 2022.10.19 |