[파이썬] Flask의 템플릿 엔진 사용

Flask는 간단하고 유연한 웹 프레임워크로, 템플릿 엔진을 사용하여 동적인 웹 페이지를 생성할 수 있습니다. 템플릿 엔진은 HTML 문서 내에서 동적 데이터를 표현하기 위해 사용되는 도구입니다. Flask는 기본적으로 Jinja2 템플릿 엔진을 제공하며, 이를 사용하여 간편하고 효율적인 웹 개발을 할 수 있습니다.

템플릿 엔진의 장점

템플릿 엔진을 사용하면 다음과 같은 장점을 얻을 수 있습니다:

  1. 재사용성: 템플릿을 사용하여 웹 페이지의 일부를 분리하고, 이를 여러 웹 페이지에서 재사용할 수 있습니다. 이를 통해 코드 중복을 줄이고 유지 보수성을 향상시킬 수 있습니다.

  2. 동적 데이터 처리: 템플릿 엔진을 사용하면 동적 데이터를 쉽게 처리할 수 있습니다. 템플릿 내에서 변수를 사용하여 데이터를 표시하거나, 조건문과 반복문을 사용하여 동적인 처리를 구현할 수 있습니다.

  3. 레이아웃 통일성: 모든 웹 페이지에서 동일한 템플릿을 사용하면, 웹 사이트의 레이아웃과 스타일을 쉽게 일관되게 유지할 수 있습니다. 이는 웹 디자인의 일관성을 높여 사용자 경험을 개선하는 데 도움이 됩니다.

Flask에서 템플릿 엔진 사용하기

Flask에서 템플릿 엔진을 사용하기 위해서는 다음과 같은 단계가 필요합니다:

  1. 템플릿 파일 생성: Flask는 템플릿 파일을 찾기 위해 templates 폴더를 사용합니다. 따라서 프로젝트 폴더 내에 templates 폴더를 생성하고, 템플릿 파일을 생성합니다. 예를 들어, index.html 파일을 생성하고 다음과 같은 코드를 작성할 수 있습니다:

<!DOCTYPE html>
<html>
<head>
    <title>Flask Template Engine</title>
</head>
<body>
    <h1>Welcome to our website!</h1>
    <p>This is a sample Flask template.</p>
    <p>The current date and time is: {{ current_time }}</p>
</body>
</html>

  1. Flask 앱 설정: Flask 앱을 생성하고, 템플릿 엔진을 사용하기 위해 다음과 같은 코드를 추가합니다:
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    current_time = '2021-01-01 12:00:00'  # 예시로 현재 시간을 변수에 저장
    return render_template('index.html', current_time=current_time)

if __name__ == '__main__':
    app.run()
  1. 템플릿 렌더링: 템플릿 파일 내에서 변수를 사용하기 위해 {{ }}를 사용합니다. Flask 앱에서 render_template 함수를 사용하여 템플릿 파일을 렌더링하면, 템플릿 내부의 변수는 해당 함수의 인자로 넘어온 값을 사용합니다.

위의 코드 예시에서는 템플릿 파일 내에 current_time 변수가 사용되고 있습니다. Flask 앱에서 해당 변수를 render_template 함수의 인자로 전달하여 템플릿 파일이 렌더링되면, 변수의 값이 동적으로 표시됩니다.

결론

Flask의 템플릿 엔진은 간단하면서도 유용한 기능을 제공합니다. 템플릿 엔진을 사용하여 동적인 웹 페이지를 생성하고, 재사용성과 일관성을 갖춘 웹 애플리케이션을 개발할 수 있습니다. Flask의 템플릿 엔진을 사용하여 효율적이고 편리한 웹 개발을 경험해보세요!