○ 이스케이핑
- 적은 단위 작업: 작은 따옴표 ( 특수문자를 일반 문자로 처리 )
' '같은 공백문자를 jinja2에서는 '로 감싸서 표시 '' ''
- 큰 단위 블럭 구문의 경우
{% raw %}
---
---
{% rawend %}
○ jinja2 template engine의 주석처리
{# #}
○ html 주석처리
(!--
---
---
---
->
○ jinja2에서 불필요 개행("/n")문자삭제
{# #}
- "/n" 문자 제거 : {% -%}
○ 매크로 만들기 :
- {% macro <macro name>(macro argument1, arg2,,,) %}
<action script 실행코드 >
{% endmacro %}
- 예제 -
{% macro input(name, value='',type='text',size=30)%}
<input type="{{type}}" name="{{name}}" value="{{value}}" size="size}}">
{% endmacro%} ==> 매크로 작성
<p>{{input('username')}}</p>
<p>{{input('password',type='password')}}</p>
실행코드
from jinja2 import Environment, FileSystemLoader
file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)
template = env.get_template("macro.html")
template.render()
print(template.render())
===macro.html에서 개행문자 제거 명령 적용
{% macro input(name='', value='',type='text',size=30) -%}
<input type="{{type}}" name="{{name}}" value="{{value}}" size="{{size}}">
{%- endmacro %}
<p> {{input('username')}}</p>
<p> {{input('password',type='password')}}</p>
--실행 결과 --
'Python > Flask' 카테고리의 다른 글
macro & caller 사용 예문 (0) | 2020.07.05 |
---|---|
python : include 및 super 코드 (0) | 2020.06.17 |
Flask 학습자료 source code1 : 부스트트랩을 이용한 메뉴바 (0) | 2020.05.29 |