• django自定义模板和过滤器


    -自定义过滤器
                -1 先app是不是已经在setting中注册
                -2 在app下创建一个templatetags(****名字不能变***)的文件夹(模块)
                -3 在模块下创建一个py文件,名字随意:mytag.py
                -4 # 第一步,导入template
                   from django.template import Library
                   # 第二步,定义一个叫register的变量=template.Library()
                   register = Library()
                -5 写一个函数,用@register.filter(name='yyy')装饰一下(可以指定别名)
                    def str_add(str1, str2): #一定要有返回值
                        # 业务逻辑很复杂
                        return str1 + str2
                -6 在模板里:(新定定义的标签,过滤器,都要重启程序)
                    -{% load mytag %}
                    -{{'lqz'|str_add:'nb'}}
            -自定义标签:
                -1-4:前4步,根过滤器的定义完全一样
                -5 只是装饰器不一样
                @register.simple_tag()
                    def add_nb(value):
                        return value+'nb'
                -6 在模板里:(多个参数,以空格区分)
                    -{% load mytag %}
                    -{% add_nb 'lqz'%}
    from django import template
    
    register = template.Library()
    
    
    
    @register.filter(name = 'yyy')
    def str_add(str1,str2):
        #业务逻辑可以很复杂
        return str1 + str2
    
    @register.simple_tag()
    def add_nb(value):
        return value+'hahah'
    
    @register.simple_tag()
    def add_3nb(value1,value2,value3):
        return value1+value2+value3+'hahah'

  • 相关阅读:
    逝华
    数论知识
    #10081. 「一本通 3.2 练习 7」道路和航线 题解
    Tire 字典树
    Manacher算法
    时间变奏曲
    【算法】莫队
    【算法】深度优先搜索(dfs)
    【算法】数位 dp
    【笔记】关于位运算(2)
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/9936885.html
Copyright © 2020-2023  润新知