创建自定义的模板标签(template tags)
Django提供了以下帮助函数(functions)来允许你以一种简单的方式创建自己的模板标签(template tags):
- simple_tag:处理数据并返回一个字符串(string)
- inclusion_tag:处理数据并返回一个渲染过的模板(template)
- assignment_tag:处理数据并在上下文(context)中设置一个变量(variable)
模板标签(template tags)必须存在Django的应用中。
在应用中创建一个名为templatestags的目录,目录要求符合python的包的规范(里面有__init__.py文件)
里面创建一个 my_tags.py
文件的命名是非常重要的。你将在模板(template)中使用这些模块的名字加载你的标签(tags)。
from django import template register = template.Library() @register.simple_tag
def my_tags():
return 'this is my tags'
如上所见,我们创建了一个名叫my_tags()的标签,他返回的是一个字符串
如果你对函数的名字不满意.可以
@register.simple_tag(name='My_tags')
创建了 接下来就是使用了
在你的网页中
{% load my_tags %} #这里填写的是你的文件名 然后使用你注册的名字 {% my_tags %} #这里是函数的名字
现在还没有效果,我们需要重启服务器,python manager.py runserver
就可以看见我们自定义的标签的效果了