수학과의 좌충우돌 프로그래밍

[Django]humanize 를 이용해 세 자리마다 콤마찍기 본문

웹프로그래밍/Django

[Django]humanize 를 이용해 세 자리마다 콤마찍기

ssung.k 2019. 5. 21. 02:04

금액을 표시할 때 통상적으로 세 자리마다 콤마를 찍어주곤 합니다. 장고 템플릿에서도 이 기능을 지원해주는데 함께 알아보도록 하겠습니다.

먼저 settings.py 에 app을 추가해야합니다. 이 app 은 장고에서 기본적으로 제공해주므로 별도의 작업없이 추가만 해주면 됩니다.

# settings.py

INSTALLED_APPS = [
  ...
  'django.contrib.humanize',
  ...
]

다음으로는 이를 html 파일에 로드해줘야 합니다.

<!-- base.html -->

{% load humanize %}

이제 comma 를 찍어주는 일만 남았습니다. 템플릿 필터를 사용하여 추가해줍니다. item 라는 object에 price 라는 필드라고 가정해보도록 하겠습니다.

{{ object.price }} 						<!-- 4500 --> 						 
{{ object.price | intcomma }}	<!-- 4,500 -->

 

이 밖에도 humanize 는 다양한 기능을 수행합니다. 또 많이 쓰는 기능으로는 특정 시간을 현재시간으로부터 몇 분 전인지 나타내주는 역할을 하기도 합니다. 주로 댓글의 시간 정보에 많이 쓰곤 하죠. 이에 대해서는 다음에 이어서 알아보도록 하겠습니다.

Comments