django 템플릿 사용자 정의 필터

1382 단어 django
django가 자체로 가지고 있는 템플릿 필터는 매우 많지만 기초 연산은 덧셈만 있고 뺄셈이 필요하면 사용할 수 있습니다
{{value|add:-10}} 

나는 실제 조작에서 두 변수에 대해 감법을 진행해야 하는데, 시도를 거쳤다
{{value1|add:-value2}}

이렇게 쓰는 것은 무효다.그래서 나는 감법을 완성하기 위해 필터를 스스로 정의할 준비를 했다.
참조: 공식 문서
구조는 다음과 같다.
polls/
    __init__.py
    models.py
    templatetags/
        __init__.py
        poll_extras.py
    views.py

적용 아래templatetags 폴더를 추가하고 폴더 아래에 추가init__.py 파일.그리고 새 pollextras.py
from django import template

register = template.Library()


@register.filter(name='minus')
def minus(value1, value2):
    try:
        value = value2 - value1
    except:
        value = None
    return value

minus 함수를 정의하고 등록합니다.
html 파일 시작, 인용
{% load poll_extras %}

필터가 필요한 곳에 minus 필터를 사용합니다
{{i.amount2|minus:amount1}}

이렇게 하면 amount2에서 amount1을 뺀 값을 계산할 수 있다
첨부:django는views에서 계산을 완성하는 것을 더 지원합니다. 여기는 단지 해결 방법을 제시할 뿐입니다.

좋은 웹페이지 즐겨찾기