想要实现自定义标签和过滤器须要进行准备工做: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>