python/Django

[Django] Template filter 알아보기

http://portfolio.wonpaper.net 2023. 5. 19. 04:52


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을 이스케이프 한다.
< 를 &lt; 로 바꿈.


# 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