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>
相关文章
相关标签/搜索