1. 템플릿태그 폴더에 사용할 함수 생성

cd demo

mkdir templatetags

vi templatetags/util.py

# -*- coding: utf-8 -*-

from django.template.defaulttags import register


@register.filter

def div( value, arg ):

  '''

  Divides the value; argument is the divisor.

  Returns empty string on any error.

  '''

  try:

    value = int( value )

    arg = int( arg )

    if arg: return value / arg

  except: pass

  return ''


2. html 에 템플릿태그 함수 로드 후 사용

vi templates/demo/demo_base.html

<!doctype html>

{% load util %}


<html lang="ko">

<html>

  <head>

    <meta charset="utf-8">

    <title>Templatetags Demo</title>

  </head>

  <body>

    10 / 2 = {{ 10|div:2 }}

   </body>

</html>

* html templatetags format : $value | ${func_name} : $arg


3. 마이그레이션 하기  (make migration)

cd ..

python manage.py makemigrations demo

python manage.py migrate


4. 기본 홈페이지에서 결과 확인

* 서버를 리셋해줘야함

10 / 2 = 5


+ Recent posts