這篇文章帶給大家的內容是關於Django自訂模板標籤和過濾器(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
1、建立模板庫
在某個APP所在目錄下新建套件templatetags,然後在其中建立儲存標籤或過濾器的的模組,名稱隨意,例如myfilters.py。
在這個模組中寫相關程式碼。
注意:templatetags所在APP應該在設定檔中進行配置。
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 模組名稱%} 載入自訂的標籤和篩選器。
python影片教學】
以上是Django自訂模板標籤和過濾器(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!