django中自定義標籤和過濾器

想要實現自定義標籤和過濾器須要進行準備工做: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

html內容

{% load tags %}

<td>{% render_app_name admin %}</td>
相關文章
相關標籤/搜索