티스토리 뷰

장고에서는 커스텀 태그를 정의할 수 있다.

공식문서를 참고하여 templatetags 폴더를 적정 위치에 만든다.

문서를 읽어보면 __init__.py도 넣고 model과 같은 레벨에 넣으라고 구체적으로 가이드가 제시되어있으니 따라하면 된다.

 

Custom template tags and filters | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

from django import template
from django.utils.html import mark_safe

register = template.Library()

@register.filter(name="email_ma")
def email_masker(value):
    email_split = value.split("@")
    return f"{email_split[0]}@******.***"

| 를 사용하여 넣어주면 된다. 이메일 뒷부분이 마스킹된 것을 볼 수 있다. 

추가적으로 : 뒤에 arg 를 넣어 보다 세부적인 필터링이 가능하다.

 

 

 

빌트인 태그의 경우 공식문서를 참조하자. 커스텀 태그를 simple_tag 메서드를 통해 만들 수 있다.

name을 설정하고 이것을 보여주고 싶은 template 에 {% %} 형태로 넣고 

include 태그를 활용하여 해당 html을 넣어준다.

이때 mark_safe를 붙여주어야 오류가 발생하지 않는다.

shortener/templatetags/custom_tags.py

 

shortener/templates/shortener/board.html

 

 

 

Built-in template tags and filters | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

댓글