[파이썬] 웹 프레임워크를 이용한 템플릿 엔진 사용

웹 프레임워크는 웹 애플리케이션 개발을 더욱 쉽고 효율적으로 만들어주는 도구입니다. 이 중에서 템플릿 엔진은 HTML 코드와 동적 데이터를 결합하여 웹 페이지를 생성하는 역할을 합니다.

Python은 다양한 웹 프레임워크를 제공하는데, 대표적인 예로 Django와 Flask가 있습니다. 이 블로그 포스트에서는 Python 웹 프레임워크를 이용하여 템플릿 엔진을 사용하는 방법에 대해 알아보겠습니다.

1. Django를 이용한 템플릿 엔진 사용

Django는 강력한 웹 프레임워크로서, 템플릿 엔진을 내장하고 있습니다. Django의 템플릿 엔진은 Django 템플릿 언어(DTL)를 사용하여 HTML과 동적 데이터를 결합할 수 있습니다.

# views.py

from django.shortcuts import render

def home(request):
    name = "John Doe"
    return render(request, 'home.html', {'name': name})


<!-- home.html -->

<html>
  <head>
    <title>Home</title>
  </head>
  <body>
    <h1>Welcome, {{ name }}!</h1>
  </body>
</html>

위의 예시는 Django에서 템플릿 엔진을 사용하는 간단한 예제입니다. views.py 파일에서 name 변수를 home.html 템플릿에 전달하고, 템플릿에서는 ``으로 동적 데이터를 출력합니다. 사용자가 웹 페이지에 접속하면 해당 템플릿이 렌더링되어 결과를 보여줍니다.

2. Flask를 이용한 템플릿 엔진 사용

Flask는 가벼운 웹 프레임워크로서, Jinja2라는 템플릿 엔진을 기본적으로 사용합니다. Jinja2는 Django의 DTL과 매우 유사한 문법을 제공합니다.

# app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    name = "John Doe"
    return render_template('home.html', name=name)
<!-- home.html -->

<html>
  <head>
    <title>Home</title>
  </head>
  <body>
    <h1>Welcome, {{ name }}!</h1>
  </body>
</html>

위의 예시는 Flask에서 템플릿 엔진을 사용하는 간단한 예제입니다. app.py 파일에서 name 변수를 home.html 템플릿에 전달하고, 템플릿에서는 {{ name }}으로 동적 데이터를 출력합니다. Flask 애플리케이션을 실행하면 웹 페이지에 해당 템플릿이 렌더링되어 결과를 보여줍니다.

결론

웹 프레임워크를 사용하면 템플릿 엔진을 통해 동적인 웹 페이지를 쉽게 생성할 수 있습니다. 위의 예시는 Django와 Flask를 이용하여 간단한 템플릿 엔진을 사용하는 방법을 보여주었지만, 각 프레임워크마다 더 다양하고 강력한 기능을 제공합니다. 웹 개발을 한다면 웹 프레임워크와 템플릿 엔진의 사용법을 학습하여 효율적인 웹 애플리케이션을 개발할 수 있도록 하세요.