django 模板语言之 simple_tag 自定义模板
自定义函数
simple_tag
a. app项目下创建templatetags目录
b. 创建任意xxoo.py文件 用做自定义py函数
c. 创建template对象 register
在函数或者类 前面 加上创建的对象装饰器register @register.simple_tag
对象不能改名字 必须是register
register = template.Library()
   
@register.simple_tag
#!/usr/bin/env python #coding:utf-8 from django import template from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag def my_simple_time(v1,v2,v3): return v1 + v2 + v3
d.
@register.simple_tag
def func(a1,a2,a3....)
return "asdfasd"
e. settings中注册APP
f.在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名,
顶部 {% load xxoo %}
g.使用simple_tag
格式
{% 函数名 arg1 arg2 %} arg1 arg2 是传参数 py文件的函数有参数,需要传参数
缺点:
不能作为if条件
优点:
参数任意
 app项目下创建templatetags目录,创建自定义py文件
![]()
foo.py 代码
from django import template from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag def BOO(a1,a2): return a1+a2
setting 注册app

在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名,使用simple_tag
{% load foo %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Title</title> </head> <body> {% BOO 1 5 %} </body> </html>

 
 
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号