필터는 정말 매우 유용합니다. Django에는 많은 내장 필터가 있습니다. 또한 모든 템플릿 파일의 Django 프로젝트에서 사용할 수 있는 Django에서 자체 필터를 만들 수 있습니다. 필터는 HTML에서 소문자를 대문자로 만드는 것과 같이 다양한 방식으로 사용됩니다.
이 기사에서는 Django에서 사용자 정의 템플릿 필터 태그를 만드는 방법을 볼 것입니다. 자, 시작하겠습니다.
예시
먼저 Django 프로젝트와 앱을 생성합니다.
템플릿 추가 및 템플릿 태그 앱 루트 프로젝트의 디렉토리. 프로젝트 구조 다음과 같이 보일 것입니다 -
예 앱이자 자습서입니다. 우리의 프로젝트입니다.
템플릿 settings.py의 변수 이렇게 생겼습니다 -
import osTEMPLATES =[ { 'BACKEND':'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR, 'example/templates')], 'APP_DIRS':True , '옵션':{ 'context_processors':[ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages. context_processors.messages', ], }, },]
"예시" 추가 settings.py의 INSTALLED_APPS 변수로 . 템플릿만 설정합니다. 폴더.
템플릿에서 폴더에 home.html 추가 지금은 그대로 두세요.
views.py에서 예의 , 다음 줄을 추가하십시오 -
from django.shortcuts import render# 여기에서 보기를 만듭니다.def main(request):return render(request,"home.html")
여기서는 기본 보기에서 기본 프론트엔드를 간단히 렌더링했습니다.
url.py에서 프로젝트의 다음 줄을 추가하십시오 -
django.contrib에서 관리자 가져오기 django.urls에서 가져오기 경로, includeurlpatterns =[ path('',include('example.urls')), path('admin/', admin.site.urls),]사전>여기에 url.py 앱이 포함되었습니다. 기본 URL에 있습니다.
url.py에서 예의 또는 앱, 다음을 추가하십시오 -
from django.urls 가져오기 경로, includefrom . import viewsurlpatterns =[경로('', views.main,name="main")]기본 경로 url을 설정합니다. 메인 뷰를 렌더링합니다.
__init__.py 만들기 템플릿 태그에서 폴더 및 "upperfilter.py"라는 필터 파일 . 여기에 다음 코드를 추가하십시오 -
django.template import Libraryregister=Library()@register.filterdef upper(value):return value.upper()여기에서 라이브러리를 가져와서 등록했습니다. 우리는 함수를 만들거나 upper라는 필터를 말할 수 있습니다. 데코레이터를 사용하여 등록했습니다. 각 필터는 일부 값을 취합니다. 얼마나 많은 값을 취할 수 있는지 정의할 수 있습니다.
home.html로 돌아오세요. 추가 -
Tut {% load upperfilter %}{{"안녕하세요 친구" | 상단}}
여기 프런트엔드에서 {% %}를 사용하여 필터를 로드한 다음 에서 요소, 우리는 필터를 사용했습니다.
이 필터는 소문자를 대문자로 변환합니다.
출력
필터 없음 -
필터 포함 -