想要實現自定義標籤和過濾器須要進行準備工做:html
1 在某個app下建立一個名爲templatetags(必需,且包名不可變)的包。假設咱們在名爲polls的app下建立了一個templatetags的包,並在該包下建立了一個名爲mytags的文件。那麼目錄結構看起來應該就像這樣:django
kingadmin/ __init__.py models.py templatetags/ __init__.py mytags.py views.py
2 setting文件按中的INSTALLD_APPS內必須含有該app。接下來,咱們須要確認settings文件中的INSTALLED_APPS變量中已經有了kingadminsession
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'CRM', 'student', 'king_admin', ]
3 接下來在mytags文件中寫入以下幾行app
from django import template register = template.Library()
4 在模板中使用{% load %} 標籤裝載自定義標籤或者裝飾器code
{% load mytags %}
自定義標籤分爲不少類型htm
1 簡單標籤 Simple tags
2 內含標籤 Inclusion tags
3 分配標籤 Assignment tagsit
from django import template register = template.Library() @register.simple_tag() def render_app_name(admin_class): return admin_class.model._meta.verbose_name
{% load tags %} <td>{% render_app_name admin %}</td>