您的位置:首页 > 编程语言 > Go语言

Django第五课之自定义模板过滤器及标签

2019-03-27 11:24 696 查看
版权声明:只要点赞,这篇文章就是你的。 https://blog.csdn.net/weixin_36691991/article/details/88837470

自定义标签好多都是按照Django中的规则来的,然后才可以灵活使用。为什么这么说呢,请看下面的介绍。

1.自定义模板过滤器

        在app目录下创建一个名为templatetags的包。是在app目录下,并且这个app在setting中被注册。

代码怎么写呢?

这个文件名称可以随便点,但是一定要有意义。

上面这个图我们分析一下。

一般的自定义过滤器至少有一个参数,最多有两个参数。第一个参数是模板传过来的变量值,第二个是普通的值。接下来我们说的就是规则。

from django.template import Library

register = Library()

@register.filter()

这几行代码都是django的规则,必须这么写,装饰器写在每个自定义过滤标签的上面。

然后我们这么使用呢?看图:

 

首先,我们load引入这个过滤器,然后就和之前的过滤器一样的使用。
 

2.自定义模板标签

接下来呢,我们说的是自定义模板标签,这个基本规则和自定义过滤器一样。看代码

文件名称可以自定义,但是一定要有意义。

模板标签中的值,我们可以自定义,也可以用上下文中的变量来处理。看图。我们说的Django的规则

from django.template import Library
register = Library()
@register.simple_tag()

这些都是规定好的,不可以修改。如果使用上下文中的变量,我们就在装饰器中添加参数takes_context=True就可以了

看下图使用


一样,先引入文件,然后使用。如果使用的上下文,我们就在view中传值。看图;

3包含标签

最后一个知识点就是很简单的,也是我们再工作中可以用,体现高内聚,低耦合。

ul.html放在template下的app目录下。

然后把你的模板标签预先修改的内容写好。

然后是使用,看下图:

是用的方法和标签一样,这个自定义的需要引入你的标签.py文件。然后你就可以了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: