반응형

Tools: flask, Jinja2, python 3.5.2


플라스크(flask)에서 웹페이지 템플릿 엔진으로 Jinja2를 쓰는데, flask에서 넘겨 주는 데이터의 값은 분명히 숫자인데 다른 숫자 변수와 단순 비교(==)로 안되는 것이었다. 아마 스트링으로 바뀐 것 같은데, int(변수명)이 Jinja2에서는 안 된다.


Jinja2 에서 변수의 데이터 타입 캐스팅을 하려면 변수명 뒤에 vertical bar(수직선) 문자( | )를 쓰고 데이터 타입을 명시하면 된다.


만약 flask에서 넘겨 주는 변수가 아래와 같다면,

my_var = '1234'


html 파일에서는 아래와 같이 정수로 바꿀 수 있다.

{{ my_var|int }}


이제 숫자로 비교할 수 있다.

{% if my_var|int == 1234 %}

    <div> my_var 의 값은 1234입니다. </div>

{% endif %}




반응형
블로그 이미지

Bryan_

,