自定义标签、过滤器-django

自定义标签、过滤器-django

@(python)

过滤器

  • 在app中新建templatetags目录,目录中新建__init__.py文件名的空文件。也可使用python manage.py startapp templatetags新建templatetags目录。
  • 在templatetags下新建filter文件,如custom_filter.py(文件名字可自定义),
#custom_filter.py
#!/usr/bin/env python
#coding:utf-8
from django import template
register = template.Library()
def mul_filter(value,arg=None):
        return value * 2
register.filter('mulFilter', mul_filter)
@register.filter(name='addFilter')
def add_filter(value,arg=None):
        return value + 10

custom_filter.py自定义两个过滤器 mul_filter与add_filter,add_filter是使用修饰符注册过滤器,如果没有自定过滤器名称name,Django使用函数名作为过滤器的名字。

  • 在模版中开头处加载过滤器 {% load custom_filter %},即可调用过滤器
<!--show.html-->
<html>
<head>
<title>测试Django模板</title>
</head>
<body>
{% load custom_filter  %}
<p>{{2|mulFilter}}</p>
<p>{{2|addFilter}}</p>
<p>{{testFilter|capfirst}}</p>
{% for item in user_list %}
        <p>{{ forloop.counter }}: {{ item.name }}</p>
{% endfor %}
</body>
</html>
  • 重启服务器,把新加的filter载入到模板里

标签

待补充

参考文献

http://www.cnblogs.com/btchenguang/archive/2012/09/05/2672364.html

posted @ 2015-01-23 16:23  liton  阅读(180)  评论(0编辑  收藏  举报