2018~/Flask 자료 정리
Flask 자료 정리 06 - JinJa2의 파일 렌더링 Enviroment와 FileSystemLoader
반원_SemiCircle
2019. 10. 12. 01:15
추가적인 jinja2 이용법 - Enviroment와 FileSystemLoader : 파일 렌더링(ex : txt파일)
- 어떤 파일 형식까지 지원해주는지는 추가로 찾아봐야한다.
- 출력결과
예제 05/01.py
from jinja2 import Environment, FileSystemLoader
file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)
template = env.get_template('test.txt')
print(template.render())
"""
설명
3 : 템플릿 디렉토리를 FileSystemLoader를 통해 가져온다.
5 : 매개변수에 들어온 것의 환경을 로드(구성)한다.
7 : 해당 환경에서 test.txt라는 파일을 템플릿으로 가져온다.
jinja는 html뿐 아니라 txt도 렌더링이 가능하다.
"""
예제 05/templates/test.txt
Hello~ Flask~ Python~
텍스트 파일에 jinja 템플릿 엔진 이용해보기 1
- 출력결과
예제 05/templates/test_jinja.txt
{{userName}}은 경험치 {{exp}} xp를 소유.
예제 05/02.py
from jinja2 import Environment, FileSystemLoader
file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)
template = env.get_template('test_jinja.txt')
print(template.render(userName="반원",exp=900))
"""
설명
7 : jinja2 템플릿 표현식이 적힌 파일 test_jinja.txt를 가져온다.
9 : jinja2 템플릿의 표현식이 적힌 곳에 변수 값을 전달한다.
"""
텍스트 파일에 jinja 템플릿 엔진 이용해보기 2 : 객체 이용
- 출력결과
예제 emplates/test_jinja2.txt
{{data.userName}}은 경험치 {{data.exp}} xp를 소유.
돈은 {{data.money}}를 소지.
설명
전달받은 data의 userName, exp, money 속성이 각각의 자리로 들어간다.
예제 05/03.py
from jinja2 import Environment, FileSystemLoader
file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)
template = env.get_template('test_jinja2.txt')
user = {}
user['userName'] = "반원"
user['exp'] = 900
user['money'] = 5000
print(template.render(data=user))
"""
설명
9 ~ 12 : 딕셔너리도 객체로 만들어진 데이터
14 : 인스턴스를 매개변수로 입력한다.
"""