Django 프레임에서 템플릿 필터를 사용자 정의하는 방법
필터 함수는 항상 반환값이 있어야 합니다.그리고 이상을 일으킬 수 없으니 조용히 실패해야 한다.오류가 발생하면 원시 입력이나 빈 문자열을 되돌려야 합니다. 이것은 더욱 의미가 있습니다.
다음은 필터를 정의하는 예입니다.
def cut(value, arg):
"Removes all values of arg from the given string"
return value.replace(arg, '')
다음은 변수 값의 공백을 없애는 데 사용할 수 있는 필터의 예입니다.
{{ somevariable|cut:" " }}
대부분의 필터는 파라미터가 필요하지 않습니다.다음 예에서는 매개변수를 함수에서 제거합니다.
def lower(value): # Only one argument.
"Converts a string into all lowercase"
return value.lower()
필터를 정의한 후 Library 인스턴스로 등록해야 Django의 템플릿 언어를 사용할 수 있습니다.
register.filter('cut', cut)
register.filter('lower', lower)
Library.filter () 메서드에는 다음 두 가지 매개변수가 필요합니다.
@register.filter(name='cut')
def cut(value, arg):
return value.replace(arg, '')
@register.filter
def lower(value):
return value.lower()
두 번째 예에서name 파라미터를 사용하지 않으려면, Django는 함수 이름을 필터 이름으로 사용합니다.다음은 전체 템플릿 라이브러리의 예입니다. 이것은 cut 필터를 포함합니다.
from django import template
register = template.Library()
@register.filter(name='cut')
def cut(value, arg):
return value.replace(arg, '')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.