<<<代码布局(自定义的代码放哪里)>>>
 (1)某个app特有的
   1.一般放app目录下 固定名为templatetags 的python文件夹里鸭,如果是别的名称,django是找不到的哦!

   2.再在文件夹里面写模块
 (2)创建新的app,在里面加模块(**注意要注册app鸭!!!**)
<<<自定义模板过滤器>>>
 首先创建模块,模块名固定为 customer_filters.py,如果是别的名字,运行会报错哦!!

 (1)模板过滤器(其实就是函数啦!)
   1.有一个或两个参数
    第一个参数是 模板变量
    第二个参数是普通参数,也可以不要
 (2)注册
   1.通过django.template.Library 它的实例的filter方法
     filter有两个参数
      name: 过滤器的名称,是一个字符串(如果不写name,函数名就是默认的filter名字哦!)
      filter_func:函数名
      register = Library()
      register.filter(<function>)
   2.通过装饰器
from django.template import Library

register = Library()

@register.filter()
def myfilter(value):
...

  

   在模板中使用

     
<<<自定义模板标签>>>
 (1)简单标签(本质也是函数):
   django.template.Library.simple_tag()
 (2)创建:
   1.创建python模块,模块名固定为customer_tags.py,如果不是这个名字,也是会报错,真jer挑剔!!

   2.注册
     @filter.simple_tag(name=<function>)
from django.template import Library

register = Library()

@register.simple_tag()
def tag():
...

  

**如果要拿到视图函数里面的context,则自定义标签函数的第一个参数是context
   其次让simple_tag函数中的take_context=True
  **

 (3)使用:同样也要load
 (4)inclusion标签:
   通过渲染另一个模板来展示数据
   这里用inclusion_tag(‘模板的路径’)来装饰
   **这个标签也可以拿到context,方法和simple_tag 一样**
 
 

django-5-自定义模板过滤器及标签的更多相关文章

  1. Django框架之【自定义模板过滤器与标签】

    本文在我的微信公众号的链接:https://mp.weixin.qq.com/s?__biz=MzU5NTU5MjcwNw==&mid=2247483674&idx=1&sn= ...

  2. Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

    前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...

  3. $Django 模板层(变量、过滤器 、标签)、自定义(模板过滤器,标签)

    1 模版语法之变量:详见源码  -{{ 变量 }}:******重要******{#相当于print了该变量#} {#只写函数名 相当于()执行了#}<p>函数:{{ test }}< ...

  4. DJANGO之自定义模板过滤器

    我查找了DJANGO模板的过滤器,好像指定字符串包含指定关-键字符的过滤器没有呢, 没有硬着头-皮,按网上其它人的作法,写了一个,成功了...:) 参考URL: http://liuzhijun.it ...

  5. Django之模板层-自定义过滤器以及标签

    自定义标签与过滤器 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是t ...

  6. django “如何”系列4:如何编写自定义模板标签和过滤器

    django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...

  7. python的Web框架,Django自定义过滤器及标签

    代码布局 有的时候框架给的过滤器不够用,需要自定义一些过滤器,所以就需要我们自己来定义一些过滤器等 自定义代码放置的路径 某个app特用(独有)的 - app 目录下的 templatetags文件夹 ...

  8. Django 学习第五天——自定义过滤器及标签

    代码布局:(自定义的代码放在哪?) 1.创建某个 app 特有的: 在 app 目录下,创建 templatetags python包(文件夹): 再到 templatetags 文件夹下创建pyth ...

  9. Django 自定义模板标签和过滤器

    1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次. ...

随机推荐

  1. unity font研究小结

    项目用ngui制作的界面.字体使用了unity默认的Arial,公布后在一些android手机上发现中文不显示,就此作了一些调查. 參考unity的font说明文档:http://docs.unity ...

  2. WIN7通过批处理开启/禁用无线网卡

    哥比較懒,直接上步骤: 1.看自己的电脑是否有devcon.exe 这个软件,能够直接在WINDOWS文件夹的SYSTEM32文件夹下面搜索.也能够通过命令行RUN-----------CMD---- ...

  3. 关于BeanShell报错提示Error invoking bsh method

    背景:因测试需要打算从外部引用.java和.class文件,奈何报错挥之不去:Error invoking bsh method: eval...... 各种百度取经之后,决定先抛弃引用,试试Bean ...

  4. 《编程导论(Java)&#183;1.4.1 范式》

    这个楼主,是我的学生么?2013年写的! 嗯."编程范式或许是学习不论什么一门编程语言时要理解的最重要的术语".这句话早在2005年出版<Java程序设计>(宋中山,严 ...

  5. wolf

    package com.wh.Demo50; /** * @author 王恒 * @datetime 2017年4月7日 下午4:40:54 * @description * 分析:子类重写父类的方 ...

  6. javascript变量中基本类型和引用类型的详解解读

    前言: Javascript语言中的变量和其他语言的变量有很大区别,javascript松散类型的本质,决定了它只是在特定时间时间保存特定值得名字而已.由于不存在定义某个变量必须保存何种数据类型值的规 ...

  7. CSS——清除浮动的六种解决方案

    内容的高度撑起父元素容器的高度,效果图如下 HTML和CSS代码如下 给p标签加上浮动以后,p{float:left:},此时DIV塌陷,两段内容同行显示,效果如下: 解决方案一:给前面一个父元素设置 ...

  8. LruCache缓存机制

    LruCache: Android提供的使用了(Least Recently Used)近期最少使用算法的缓存类 内部基于LinkedHashMap实现 实现这个主要需要重写 构造时需要确定Cache ...

  9. Bin文件

    那什么是bin文件呢?为什么这么关键? bin (binary)既是:二进制, 里面存放的一般是可执行的二进制文件.二进制即是机器代码,汇编语言编译后的结果.我们编译的是高级语言,把高级语言翻译为机器 ...

  10. params可变参数、SqlCommand.Parameters.add()方法

    namespace params可变参数{ class Program { static void Main(string[] args) { int[] num = {66,99,55,44, }; ...