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에서 숫자 문자 타입 변환을 알아보았습니다.