Python 내에서 HTML 을 생성하는 것은 재미가 없고, 실제로 애플리케이션의 보안을 유지하기 위해 직접 escape를 사용하여 HTML 이스케이핑을 수행해야 하기 때문에 매우 번거롭습니다. 그렇기 때문에 Flask 는 자동으로 Jinja2 템플릿 엔진을 구성합니다. 템플릿은 모든 유형의 텍스트 파일을 생성하는 데 사용할 수 있습니다. 웹 애플리케이션의 경우 주로 HTML 페이지를 생성하겠지만, 이메일용 마크다운, 일반 텍스트 등 다른 모든 것도 생성할 수 있습니다.
이 랩에서는 Jinja2 템플릿 엔진을 사용하여 안전하고 동적인 템플릿을 생성하는 방법을 배웁니다.
템플릿 렌더링
이 단계에서는 Jinja2 템플릿 엔진을 사용하여 템플릿 렌더링을 구현합니다.
rendering_templates.py 파일을 열고 먼저 Flask 클래스와 render_template를 import 합니다. 그런 다음 Flask 클래스의 인스턴스를 생성합니다.
from flask import Flask, render_template
app = Flask(__name__)
다음으로 route() 데코레이터를 사용하여 / 및 /<name> 두 개의 라우트를 생성하여 hello라는 하나의 뷰 함수를 공유합니다. 템플릿을 렌더링하려면 render_template() 메서드를 사용할 수 있습니다. 이는 Jinja2 템플릿 엔진으로 템플릿을 렌더링하기 위해 Flask 에서 제공됩니다. 해야 할 일은 템플릿의 이름과 템플릿 엔진에 키워드 인수로 전달하려는 변수를 제공하는 것입니다. 뷰 함수에서 render_template() 메서드를 사용하여 name이라는 변수를 사용하여 hello.html 템플릿을 렌더링합니다.