[Django] Template filter 알아보기
linebreaksbr
모든 개행 문자를 <br />로 바꿈
# joel\nis a slug. -> joel<br /> is a slug
{{ value|linebreaksbr }}
lower
문자열을 소문자로 변환
# Totally LOVING this Album! -> totally loving this album!
{{ value|lower }}
slugify
ASCII로 변환, 공백을 하이픈으로 변환. 영숫자, 밑줄 또는 하이픈이 아닌 문자를 제거, 소문자로 변환, 앞뒤 공백을 제거
# "Joel is a slug" -> "joel-is-a-slug"
{{ value|slugify }}
safe
문자열을 출력하기 전에 더 이상 HTML 이스케이프가 필요하지 않은것으로 표시
{{ var|safe|escape }}
pluralize
값이 1이 아닐 경우 복수접미어 를 반환 기본값은 ‘s’
You have {{ num_walruses }} walrus{{ num_walruses|pluralize:"es" }}
make_list
리스트로 만들어 줌
# "Joel" -> ['J', 'o', 'e', 'l']
# 123 -> ['1', '2', '3']
{{ value|make_list }}
urlencode
URL에 사용할 이스케이프 처리 함
# https://www.example.org/foo?a=b&c=d
# -> https%3A// www.example.org/foo%3Fa%3Db%26c%3Dd
{{ value|urlencode }}
wordwrap
지정된 길이로 단어를 줄바꿈 함
# Joel is a slug
# Joel
# is a
# slug
{{ value| wordwrap:5 }}
truncatewords
특정 단어 수 뒤의 문자열을 자름
# Joel is a slug -> Joel is ...
{{ value|truncatewords: 2 }}
title
단어를 대문자로 시작하고 나머지문자를 소문자로 만듬
# my FIRST post = My First Post
{{ value|title }}
striptags
모든 [X]HTML 태그를 삭제할수 있도록 한다
<b>Joel</b> <button>is</button> a <span>slug</span> -> "Joel is a slug"
{{ value|striptags }}
random
지정된 리스트로 부터 임의 항목을 리턴함
# [1,2,3,4] -> 2
{{ value|random }}
join
python의 join 과 같이 문자열로 합칩니다
# ['a','b','c'] -> "a // b // c"
{{ value|join:" // " }}
escape
문자열의 HTML을 이스케이프 한다.
< 를 < 로 바꿈.
# escape가 꺼져 있을때 escape 필터를 사용하여 켤 수 있다.
{% autoescape off %}
{{ title|escape }}
{% endautoescape %}
addslashes
따옴표 앞에 슬래시를 추가함
# "I'm using Django" 는 "I\'m using Django"
{{ value|addslashes }}
cut
인수로 주어진값을 모두 제거
# 'ab c d' -> 'abcd'
{{ value|cut:" " }}
date
지정된 형식에 따라 날짜 형식을 지정
PHP의 date() 함수와 비슷한 형식. 약간 다름
# Wed 09 Jan 2008
{{ value|date:"D d M Y" }}
{{ reg_date|date:"Y-m-d" }}
참고 : https://himanmengit.github.io/django/2018/02/23/Built-In-Template-Filter.html