웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > python

Jinja2에서 숫자 또는 문자로 타입 설정 및 변경 방법

Last Modified : 2021-02-16 / Created : 2019-02-06
7,191
View Count

Python에서 사용되는 Jinja2 template의 표현식에서 만약 타입을 숫자 또는 문자로 바꾸려면 어떻게하는지 알아봅니다.




# Jinja2 숫자 문자 타입 변환 방법

문자를 숫자 타입으로 바꾸는 방법을 먼저 알아봅니다. 아래의 변수 myNum은 숫자 형태를 띄나 문자로 저장되어 비교문 등에 사용하기 어렵습니다. 이 경우 타입을 바꾸면 비교문에도 사용이 가능하죠. 만저 숫자 타입으로 바꾸는 방법은 아래와 같습니다.

{{ 변수 | int }}

즉 뒤에 | 기호와 합께 바꿀 타입인 int를 추가하면 됩니다. 그럼 간단한 예제를 볼까요?


! Jinja2 숫자 변환 예제

10이 넘는 경우에만 okay라는 문구를 출력하는 방법입니다.
<div>
  {% if myNum|int > 10 %}
    <span>Okay</span>
  {% endif %}
</div>

myNum의 타입을 int인 숫자로 바꾸고 비교문을 사용하였습니다. 10이 넘는 경우에만 Okay를 출력할 것입니다.


! Jinja2 문자 변환 예제

이번에는 숫자로 넘어온 데이터 타입을 문자로 바꾸는 방법입니다. 문법은 아래와 같습니다.


{{ 변수 | str }}

문자로 바꾸는 경우도 많이 쓰입니다. 특히 숫자로 넘어온 값을 화면에 출력하기 위해서 문자로 바꾸어 출력하는데 많이 쓰입니다. 이번에도 간단한 예제를 보죠...
<div>
{% if muNum > 1000 %}
  감사합니다. {{ myNum | str }}번째 방문하셨습니다.
{% endif %}
</div>

이번 예제는 넘어온 myNum 변수가 1000을 넘은 경우에 해당하는 값을 화면에 문구와 함께 출력하는 방법입니다.

만약 동작하지 않는다면? 이 경우 아래와 같이 str 대신에 string을 사용해보시기 바랍니다.
{{ myNum | string }}

Jinja2의 버전 문제인지 확실하지 않지만 string으로 동작하는 경우가 있었습니다.


여기까지 Jinja2에서 숫자 문자 타입 변환을 알아보았습니다.

Previous

Python 숫자값의 올림, 버림 및 반올림 방법

Previous

Jinja2에서 현재 주소를 출력하는 방법