zoukankan      html  css  js  c++  java
  • 自定义simple_tag和filter在html中渲染出来的联系和区别

    关于 simple_tag:

    1,在app下创建一个(templatetags)目录,(被引用的模块必须放在该目录下,且目录名称不可更改);

    2,创建任意py文件;

    3,创建template对象;

    1 from django import template
    2 register = template.Library()
    View Code

    4,定义函数并加上装饰器;

    1 @register.simple_tag
    2 def test3(a1,a2):
    3     temp = a1*a2
    4     temp2 = temp+10
    5     return temp2
    View Code

    5,在setting中注册app;

    6,在应用的html文件的顶部声明要引用的py文件

    1 {% load 引用的py文件名 %}

    7,使用时可自定义参数,参数之间空格隔开,且参数间空格个数不会影响参数传递;

    {% test3 5 7 %}

     1 {% 函数名 参数1 参数2 %} 

    缺点:不能作为if条件,  

    优点:可以传任意多个参数

    》》》

    关于filter:

    1.在app01下创建templatetags目录(同上);   

    2.任意py文件(同上);

    3.创建template对象register ;(同上)  

    4.4,定义函数并加上装饰器;(同上)

    1 @register.filter
    2 def test4(b1,b2):
    3     temp = b1+ b2
    4     temp2 = temp + 10
    5     return temp2

    5.settings中注册app;

    6.在顶部{% load xxoo %}   

     7.使用的时候{{参数1|函数名:"参数2,参数3"}} {{参数1|函数名:数字}}   

    1         {{ 250|test4:2 }}
    2 
    3 {#        {{ 'fhj'|test4:'klp' }}#}

     缺点:最能只能传2个参数,不能加空格    

    优点:能作为if条件

  • 相关阅读:
    织梦安装
    讲解版的自动轮播(新手福利)样式和js就不分离了为了看的方便
    APP制作过程
    细线边框
    APP常用模块
    PC-JS小技巧
    PC-CSS-多浏览器支持HTML5
    jQuery瀑布流实例无限滚动加载图片
    25个Java机器学习工具&库(收藏)
    java中的动态代理----自己手动实现
  • 原文地址:https://www.cnblogs.com/cerofang/p/8367588.html
Copyright © 2011-2022 走看看