Django实战-信息资讯-自定义模板标签

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

某些标签(例如:菜单栏、css、JS、以及一些复杂计算后的数据等)需要自定义。然后再在指定的 html 中引用并显示。之所以要用到标签,主要作用就是想让一些内容在多个模板(HTML)中都要有,比如时间格式化。绝对不想在每个视图函数(views中)都写一次这些变量内容。即每个页面都需要用到info,如果每个视图函数都写一次,那真的是非常痛苦,所以使用 Django 的上下文渲染器。

时间过滤标签

time 距离现在的时间间隔

1.如果时间间隔小于1分钟以内,那么就显示“刚刚”

2.如果是大于1分钟小于1小时,那么就显示“xx分钟前”

3.如果是大于1小时小于24小时,那么就显示“xx小时前”

4.如果是大于24小时小于30天以内,那么就显示“xx天前”

5.否则就是显示具体的时间2019/07/02 23:30

1、首先在某个 app 中,创建一个python 包,叫做`templatetags`,注意,这个包的名字必须为`templatetags`,不然就找不到。

2、在这个`templatetags`包下面,创建一个 python 文件用来存储过滤器。

3、在新建的python文件中,定义过滤器(也就是函数),这个函数的第一个参数永远是被过滤的那个值,并且如果在使用过滤器的时候传递参数,那么还可以定义另外一个参数。但是过滤器最多只能有2个参数。

4、在写完过滤器(函数)后,要使用`django.template.Library.filter`进行注册。

5、还要把这个过滤器所在的这个app添加到`settings==>INSTALLED_APPS`中,进行安装,不然 Django 也找不到这个过滤器。

6、在模板中使用`load`标签加载过滤器所在的python包。

7、`django.template.Library.filter`还可以当作装饰器来使用。如果`filter`函数没有传递任何参数,那么将会使用这个函数的名字来作为过滤器的名字。当然如果不想使用函数的名字来作为过滤器的名字,也可以传递一个`name`参数。

前端使用过滤器

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190702A0SRLM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券