相关:
Django的模板引擎提供一般性的功能函数,通过前端可以实现多数的代码逻辑功能,但它仅支持大多数常见情况下的函数功能,例如if判断,ifequal对比返回值等,复杂一些的函数功能并不支持,例如通过模板来判断一个返回值是否是合法的数字类型,如果又不希望通过后台视图代码来实现的话,就可以自定义一些前端函数功能。
Django提供了两种方式
simple_tag
filter
两种方式前置操作:
1.app下创建 templatetags 目录

2.在目录下创建py文件。

3.在文件内 创建template对象 register
1from django import template 2 3register = template.Library()
4.setting 中注册app

5.定义函数
simple_tag 方式:
模板导入符为 {% 函数 参数1 参数2 参数** %}
优点:可传递多个参数。 缺点:不能作为if条件。
1from django import template 2 3register = template.Library() 4 5@register.simple_tag 6def simple_type(num): return num ** 2
filter 方式:
模板导入符为 {{ 参数1| 函数名:参数2 }}
优点:可作为if条件。 缺点:最多两个参数,导入符终函数名后不能有空格
1from django import template 2 3register = template.Library() 4 5@register.filter 6def filter_type(a1,a2): 7 return a1 + a2
6.在模板中加载,并应用

1{% load seting %} 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5 <meta charset="UTF-8"> 6 <title>Title</title> 7</head> 8<body> 9 <div> 10 {% simple_type 8 %} 11 12 {{ "AAAAA"|filter_type:"BBBBB" }} 13 </div> 14</body> 15</html>