重点:如果表中字段用的是DecimalField,那么在自定义过滤器py文件里写函数时需要转成 float 类型
- settings配置文件里将子应用文件注册
- 在子应用文件里新建一个templatetags文件,
- 然后建一个__init__.py文件,里面什么都不用写,这个init文件只是将这个templatetags转为一个包
- 在templatetags文件里建一个写过滤器函数的文件,名字自定义即可
- 在这个过滤器文件内进行以下操作即可
from django import tempalte register = template.Library() @register.filter(name='n2c',is_safe=True) def myfilter(val): val = val*0.8 result = '¥' + str(val) return result
- 以下是转为 float 类型的 过滤器函数,前提是表字段是 decimal 类型
from django import template register = template.Library() @register.filter(name='n2c',is_safe=True) def myfilter(val): val = float(val) * 0.8 result = '¥' + str(val) return result
- 在html页面里进行如下操作:
<!DOCTYPE html> {% load addy %} # 在这里load后面的文件名就是你在templatetags文件里自定义新建的写过滤器的文件 <html lang="en"> <tr> <td>{{ g.price | n2c }}</td> # 在这管道符后面的就是上面filter()里的name后的名字 </tr>