Django-自定义过滤器

531 查看

views.py中发送字符串hello,world,如果想到html中首个字母大写,或者小写,或者全部大写。可以

在模板文件template的html中添加管道过滤。

这里放了很多管道,大写,小写,再首个字母大写。最后的一个percent是自定义的过滤

{{xiaowang.sayHello | upper | lower | capfirst |percent}}

自定义过滤

  1. 在应用目录下创建一个templatetags目录,其中放一个init.py文件,空的也可以,再自己写一个percent.py文件 一会load加载的是文件的名字

  2. 在percent.py文件中写入

    from django import template 
    register = template.Library()
    def percent(value):
        return value+'%'
    
    register.filter(percent)

    作用是在字符串后加一个% 这里只是简单的例子

  3. 使用percent函数

    {% load percent%}
            <li>{{xiaowang.sayHello | upper | lower | capfirst |percent}}</li>

    先加载后使用

总结

  • 创建templatetags目录,中创建init.py文件,和一个.py文件
  • .py文件中写入需要的功能,记得函数名字func
  • template中的html使用前先加载.py文件,{% load percent%} 再用|