이 기사는 Django 사용자 정의 템플릿 태그 및 필터(코드 예제)에 대한 내용을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
1. 템플릿 라이브러리 만들기
APP가 있는 디렉터리에 새 패키지 templatetags를 만든 다음 여기에 태그나 필터를 저장할 모듈을 만듭니다. 이름은 myfilters와 같습니다. 파이.
이 모듈에 관련 코드를 작성하세요.
참고: templatetags가 있는 앱은 구성 파일에서 구성되어야 합니다.
2. 필터 정의
필터는 함수입니다. 첫 번째 매개변수는 처리할 값입니다. 그 다음에는 필터 매개변수로 여러 매개변수가 있을 수 있습니다.
from django import template from django.template.defaultfilters import stringfilter register=template.Library() # 去除指定字符串 @register.filter(name='mycut') @stringfilter def mycut(value,arg): return value.replace(arg,'') # 注册过滤器 # register.filter(name='mycut',filter_func=mycut)
3. 태그 정의
simple_tag
데이터 처리 및 특정 데이터 반환
@register.simple_tag(name='posts_count') def total_posts(): return Post.published.count()
inclusion_tag
데이터 처리 및 렌더링된 템플릿 반환
@register.inclusion_tag('blog/post/latest.html') def show_latest_posts(count=5): latest_posts=Post.published.order_by('-publish')[:5] return { 'latest_posts':latest_posts, }
blog/post/latest.html내용은 다음과 같습니다. :
<strong>最新文章</strong> <ul> {% for post in latest_posts %} <li> <a href="{% url 'blog:post_detail' post_id=post.id %}">{{ post.title }}</a> </li> {% endfor %} </ul>
4.
사용 사용자 정의 태그 또는 필터를 사용하기 전에 템플릿 파일에서 {% load 模块名称 %}
를 사용하여 사용자 정의 태그 및 필터를 로드해야 합니다.
이후에는 Django에 포함된 태그를 사용하는 것처럼 사용하시면 됩니다.
참고: 사용자 정의 태그나 필터가 있는 모듈이 현재 템플릿에서 상속된 기본 템플릿에 로드된 경우에도 현재 템플릿에서 다시 로드해야 합니다.
【관련 추천: python 비디오 튜토리얼】
위 내용은 Django 사용자 정의 템플릿 태그 및 필터(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!