Template을 이용한 html출력

MIN·2023년 9월 19일
post-thumbnail
이 글은 아이티뱅크 학원의 강의를 듣고 공부한 내용을 토대로 작성한 글입니다.
혹시 잘못된 내용이 있을 시 댓글로 알려주시면 감사하겠습니다 ^U^

📌 Template이란?

지난 글에서 설명했듯 template은 간단히 설명해 html문서를 보관한 폴더라고 할 수 있다.

django 프로젝트에서 urls.py와 view.py에 작성하는 것으로도 html문서를 출려할 수 있다. 하지만 분류되지 않은 html문서가 길고 복잡해진다면 내용을 수정하거나 추가/삭제하기가 매우 힘들 것이다.

이를 위해 template이란 html문서만 따로 보관하는 폴더를 만들어 연결을 해준다면 관리가 편해진다.^^


📌 Template 만들기

template 폴더를 만들고 그 안에 html문서만 담으면 끝이 아니다.
연결을 해서 이 폴더가 html을 담을 폴더라고 연결해서 알려주어야 한다.

먼저 프로젝트 폴더인 config폴더 안으로 들어가 settings.py 파일을 연다. 그리고 그 안에 TEMPLATES 설정이 적힌 부분이 있는데 이 부분을 아래와 같이 수정해준다.

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',
            ],
        },
    },
]

'DIRS' : [BASE_DIR/''] 부분에서 ''안에 기본 템플릿으로 설정할 폴더 이름을 적어준다. 나는 헷갈리지 않게 templates로 적어주었다.

이 다음 폴더를 생성해 준다.
프로젝트 폴더를 담는 mysite라는 폴더 안에 template을 생성한다.
그리고 이 폴더 안에 관리하기 쉽도록 MTV라는 폴더를 만들고 그 안에 html문서를 집어넣어 준다. ( 문서이름 : index.html )

대충 아래와 같은 파일을 만들어서 넣어주었다.

<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <h1>Hello~~ I'm index.html page!</h1>
  </body>
</html>

📌 출력해보기

URL Patterns 글을 참고하여 프로젝트폴더의 urls.py 에서 app폴더의 urls.py를 연결하고 urls.py에서 다시 해당 app폴더의 views.py로 연결하여 기능을 수행하도록 만들어보자.

(나는 MTV app의 urls.py에서 views.py의 index함수를 수행하도록 설정함!)

이 때 views.py에서 index함수를 아래와 같이 적어준다.

from django.shortcuts import render

def index(request):
    return render(request, 'MTV/indexs.html')

여기서 render함수를 이용하여 템플릿의 html문서를 불러온다.
위의 index함수는 요청이 들어오면 template\MTV 폴더안의 index.html을 불러와 브라우저에 출력한다!!

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글