zoukankan      html  css  js  c++  java
  • django 自定义模版过滤器

      自定义的模版过滤器必须要放在app中,并且该app必须在INSTALLED_APPS中进行安装。然后再在这个app下面创建一个python包叫做templatetags(这个名字是固定的,不能随意更改)。再在这个包下面创建一个python文件。然后在这个文件中写过滤器。
      过滤器实际上就是python中的一个函数,只不过是把这个函数注册到模板库中,以后在模版中使用这个函数了。但是这个函数的参数有限制,第一个参数必须是这个过滤器需要处理的值,第二个参数可有可无,如果有,则在模版中传参。并且过滤器的函数最多只能有两个参数。在写完过滤器后,再使用django.template.library对象注册进去。实例代码如下:
    过滤器文件中:

     1 from django import template
     2 
     3 register = template.Library()
     4 
     5 def my_template(value)
     6 if value != '':
     7 value += '%'
     8 return value
     9 # 注册过滤器
    10 # 第一种方式
    11 register.filter("my_template",my_template)#引号里的是在模板中使用时的名字,后面的是过滤器文件中的函数名。
    12 # 第二种方式
    13 使用@register.filter装饰器进行装饰过滤器函数,默认过滤器函数名即为模版中使用的名字,如果修改使用名,只需将名字写在装饰器的参数中即可,如@register.filter('my'),使用时是写my,而不是my_template。

    模板文件中需要加载:

    1 {# 在第一行加载过滤器 #}
    2 {% load '过滤器文件的名字' %}
  • 相关阅读:
    2012619 win7环境Jooma建站手记解决问题
    linux学习(4)ubuntu开机自动挂载nfs服务器上的home分区
    linux学习(3)nginx tomcat集群
    oracle to_date 函数
    inux学习(2)vim设置
    linux学习(1)常用命令入门
    tomcat域名绑定
    tomcat内存溢出问题解决思路
    TreeView控件无限级 一次性加载和异步加载剖析
    数据查询支持中文拼音首字母模糊检索
  • 原文地址:https://www.cnblogs.com/xshan/p/12129946.html
Copyright © 2011-2022 走看看