caller() 사용법, 존재 이유에 대해서 고민하는데 많은 시간이 걸렸다.
이해하면 생각보다는 간단하다.
일단 아래와 같은 매크로 코드가 있다고 가정하자.
#test.html
{%macro test(string)%}
<h3>테스트 글자 : {{string}}</h3>
{%endmacro%}
작성한 매크로는 아래처럼 활용할 수 있다.
#main.html
{%from "test.html" import test%}
{{test("안녕하세요")}}
결과
콜러를 활용하는 코드를 추가해보자.
{%macro test2(string)%}
<h3>테스트 글자 : {{string}}</h3>
{{caller()}}
{%endmacro%}
#main.html
#매크로 임포트
{%from "test.html" import test,test2%}
#test2 매크로
{%call test2("두번째 테스트입니다.")%}
<h1>콜러 영역 입니다.</h1>
<h2>콜러 영역 입니다.</h2>
<h3>콜러 영역 입니다.</h3>
<h4>콜러 영역 입니다.</h4>
{%endcall%}
결과
쉽게 말하면 콜러는 정의한 매크로 외에 추가할 수 있다는 점이다. 물론 매크로에 처음부터 변수를 넣어서 활용할 수 있지만, 변수의 수가 고정적이지 않다면 콜러영역에서 별도로 처리하는 것이 편하다.
반응형
'파이썬 > flask' 카테고리의 다른 글
flask 내 윈도우 pc에서 배포하기 (ngrok) (1) | 2020.10.09 |
---|---|
flask 데코레이터 (0) | 2020.10.05 |
파이썬 flask jinja2(진자)에서 len, enumerate ,주석 사용하기 (0) | 2020.10.05 |
파이썬기초 flask flash 사용하기 (자바스크립트 alert) (0) | 2020.06.18 |