自定义过滤器及标签

mac2022-06-30  99

代码布局(自定义的代码,放在哪里)

1,某个app特有的

——app目标下,templateags 文件夹

——再到ttemplateags 文件夹下创建python模块(py文件)

2,定义复用

——创建一个新的app,将他们定义在新的app中,在INSTALL_APPS注册,然后就可以应用

 

1,自定义模板过滤器

——模板过滤器是什么

  ——函数,一个或两个参数

    ——第一个参数,是传递进来的模板变量

    ——第二个参数,普通的参数,也可以是默认,也可以不要

  其实就是个函数,没有什么不同

定义非常简单,就是写一个函数

——注册:

  1,通过django.template.Library 它的实例的 filter 方法

  filter 有两个参数:

    ——name 过滤器的名称,是个字符串,可以不写,默认

    使用方法名作为过滤器的名称

    ——filter_func 定义的过滤器的函数

  2,通过装饰器来注册

  

  模板中使用

    先要load一下,通过python模块名

2,自定义模板标签

  ——简单标签

  django.ttemplate.Library.simple_tag()

  ——创建

    普通的python函数

  ——注册

    1,调用函数的方式

    2,装饰器

  ——引用上下文变量(views中传递到模板中的那个context)

    只需要在simple_tag中,设置take_context = True

    自定义的标签函数第一个参数一定是 context  (名字不能错)

  ——包含标签

    django.template.Library.inclusion_tag()

    通过渲染另外一个模板来展示数据。

  ——定义

    ——定义一个函数,接受调用时传递的模板变量,直接返回

    ——定义一个模板,供上一个定义的函数使用,

 

转载于:https://www.cnblogs.com/wdty/p/10422985.html

最新回复(0)