<<<代码布局(自定义的代码放哪里)>>>
 (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. [hdu 3264] Open-air shopping malls(二分+两圆相交面积)

    题目大意是:先给你一些圆,你可以任选这些圆中的一个圆点作圆,这个圆的要求是:你画完以后.这个圆要可以覆盖之前给出的每一个圆一半以上的面积,即覆盖1/2以上每一个圆的面积. 比如例子数据,选左边还是选右 ...

  2. 哈理工 oj 2122 旅行(map + 最短路dij算法)

    旅行 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 18(6 users) Total Accepted: 3(3 users) Ra ...

  3. php学习随记3

    <? php #正則表達式 #就是一种描写叙述字符串结构的语法规则 #是一个特定的格式化模式 #1. 行定位符 /* 1) ^行首 2)$行尾 tm eqaul Tomorrow Moon ^t ...

  4. Iterator - 迭代器模式

    定义 提供一个方法顺序訪问一个聚合对象中个各个元素,而又不须要暴露该对象的内部结构. 案例 一个聚合对象.如一个列表List.应该提供一种方法来让别人能够訪问它的元素.而又不用暴露内部结构.迭代器模式 ...

  5. POJ3185 The Water Bowls 反转(开关)

    Description The cows have a line of 20 water bowls from which they drink. The bowls can be either ri ...

  6. PHP 和 Java 的主要区别有哪些?

    PHP 和 Java 的主要区别有哪些? 其实Java方面我要学的真的还有很多,要是有大项目的机会和经验就好,所以提前我肯定要把基础打扎实. 我要学的还有很多,比如前段,后端,还有linux,还有肯定 ...

  7. Selenium之当鼠标悬浮时隐藏的元素才出现

    在自动化过程中,有些导航按钮只有当鼠标悬浮在登录信息上时,它才能出现.这时候如果想要点击导航按钮直接用selenium的webDriver是无法定位的元素的,因为这些元素是隐藏的,只有鼠标悬浮时才出现 ...

  8. C# How to convert MessageBodyStream to MemoryStream?

    通过WCF服务从数据库取文档数据时,返回的是Stream对象,在DevExpress的PDFViewer显示时,用PDFViewer.LoadDocunent(Stream stream);方法时,报 ...

  9. mysql5.7 设置密码

    5.7版本的MYSQL的用户表的密码字段与以往版本有所区别, 不再是password字段 而是authentication_string字段. 请注意修改密码: vim  /opt/mysql_d/m ...

  10. Struts2的学习链接

    ---- Struts2的学习途径 (downpour) http://www.iteye.com/wiki/struts2/1306-struts2-way-of-learning ---- Str ...