이 글에서는 Django의 프론트엔드 custom 함수로 filter와 simple_tag를 사용하는 구현 방법을 주로 소개합니다. 이 글에서는 누구나 참고할 수 있고 학습할 가치가 있는 예제 코드를 통해 자세히 소개합니다. 필요하면 따라갈 수 있습니다.
머리말
Django의 템플릿 엔진은 대부분의 코드 로직 기능을 프론트 엔드를 통해 구현할 수 있는 일반적인 기능을 제공합니다. 여기서는 if 판단과 같은 가장 일반적인 상황만 지원하기 때문에 일반 기능이라고 합니다. , 반환 값의 동등 비교 등이 있지만 템플릿을 사용하여 반환 값이 합법적인 숫자 유형인지 확인하는 등 약간 더 복잡한 기능은 지원되지 않습니다. code 이를 구현하기 위해 일부 프런트엔드 기능을 사용자 정의할 수 있습니다.
Django는 filter와 simple_tag라는 두 가지 메서드를 제공합니다. 다음은 반환 값을 판단하는 함수 함수를 구현하는 두 가지 메서드를 비교한 것입니다.
1. settingsconfig 파일에 애플리케이션이 등록되어 있어야 합니다. 2. 애플리케이션 디렉터리에 templatetags 디렉터리를 생성하고
3, templatetags에 모듈 파일을 생성하고 Django를 가져옵니다. 내부 방법
templatetags 디렉터리에 app01_func.py라는 Python 모듈을 만듭니다. 내용은 다음과 같습니다.
from django import template from django.template.defaultfilters import stringfilter register = template.Library() @register.filter def value_verification(value): # value为前端传递的参数 try: int(value) return True except: return False
백그라운드 기능을 사용자 정의한 후 다음에 추가할 수 있습니다. 템플릿 파일 함수 함수를 호출하려면 먼저 템플릿 파일 헤더에 배경 Python 모듈을 도입해야 합니다.
{% load app01_func %}
예를 들어, 백그라운드 반환 값 load가 유효한 숫자인지 확인해야 하는 경우 다음 호출을 수행할 수 있습니다. 필터와 동일하지만 차이점은 데코레이터 부분에서 simple_tag 메소드
{% if load|value_verification %} {{ load }} is a valid int number. {% else %} {{ load }} is letter. {% endif %}
를 호출해야 하며 동시에 프런트엔드 호출 메소드도
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.simple # 这里修改为simple_tag
def value_verification(value): # value为前端传递的参数
try:
int(value)
return True
except:
return False
{% value_verification load %}
{{ load | value_verification:"100"}}
def value_verification(value, custom): # 配置好形参 ...
string
로 이어붙일 수 있습니다 백엔드는 분할 방법을 통해 여러 매개변수를 얻을 수도 있습니다.
비교 요약
{% value_verification load 100 200 ... %}
위 내용은 Django에서 프론트 엔드에 대한 함수를 정의하기 위해 filter 및 simple_tag를 사용하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!