Django如何自定义DTL过滤器?
1.在app下创建templatetags文件夹 , [过滤器名]文件
├── templatetags
│ ├── __init__.py
│ └── addjpg.py
2.addjpg.py
from django import templateregister = template.Library()
def adfjpg(value, word='.jpg'):# 最多接受两个参数# 第一个参数为被过滤的参数return value + word
register.filter('addjpg', adfjpg)
3. settings中注册过滤器文件名
INSTALLED_APPS = ['blog','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','blog.templatetags.addjpg', # <--------
]
4.template中
在load中导入过滤器名
{% load addjpg %}
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><h1>{{ value | addjpg }}</h1>
</body>
</html>
5.举例(时间间隔过滤器)
def time_before(value):'''时间处理过滤器1.如果时间间隔小于一分钟, 返回刚刚2.如果时间间隔大于等于一分钟,小于一小时, 返回xx分钟前3.如果时间间隔大于等于一小时,小于一天, 返回xx小时前4.如果时间间隔大于等于一天,小于30天, 返回xx天前5.否则返回2020/3/3 21:42'''if not isinstance(value ,datetime):return valuenow = datetime.now()timestamp = (now - value).total_seconds()if timestamp < 60:return '刚刚'elif timestamp >= 60 and timestamp < 60*60:minutes = timestamp // 60return '%d分钟前' % minuteselif timestamp >= 60*60 and timestamp < 60*60*24:hours = timestamp // (60*60)return '%d小时前' % hourselif timestamp >= 60*60*24 and timestamp < 60*60*24*30:days = timestamp // (60*60*24)return '%d天前' % dayselse:return value.strftime('%Y/%m/%d %H:%M')
Django如何自定义DTL过滤器?相关推荐
- Django从理论到实战(part21)--自定义模板过滤器
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
- Python+django网页设计入门(18):自定义模板过滤器
前导课程: Python+django网页设计入门(17):模板语法及应用 Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模 ...
- Django(5) - 自定义过滤器及标签
五,自定义过滤器及标签 满足额外需求 一,自定义过滤器(常用在App下创建) 一,在App下创建1.创建templatetags包,注意,这是一个python包2.创建customer_filters ...
- Django框架学习20--模板变量,模板标签,模板过滤器及自定义模板过滤器,自定义模板标签
1.模板变量 string 字符串和 int 类型,通过key名称直接取值,如:{{ n_name }} list类型的取值,通过点下班取值,如:{{ fancy.0 }}.{{ fancy.1 }} ...
- Python一亿以内的素数个数_Python+django网页设计入门(18):自定义模板过滤器
前导课程: Python+django网页设计入门(17):模板语法及应用 Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模 ...
- django中自定义标签和过滤器
django中自定义标签和过滤器 原文:http://www.cnblogs.com/MnCu8261/p/5934203.html 纪念如何填了半天的坑,红色重点 想要实现自定义标签和过滤器需要进行 ...
- java学习笔记(2):获取文件名和自定义文件过滤器
//自定义文件过滤器import java.io.File;import javax.swing.filechooser.*;public class JavaChooser extends File ...
- vue 多个filters_vue自定义filters过滤器
官方给出 在项目中我们如果有多个filters,那么我怎么一次注册,全局可用,我们在项目里新建一个filters文件夹,如下,index.js是出口文件,readMore是一个对字符串做处理的过滤器 ...
- django的模板系统过滤器笔记
-------------------django内建的过滤器------------------- 1.add 使用形式为:{{ value | add: "2"}} 意义:将 ...
- SpringBoot学习笔记(4):自定义的过滤器
SpringBoot:学习笔记(4)--自定义的过滤器 快速开始 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. 在SpringBoot的开发中,我们应该还 ...
最新文章
- 免费云服务器无限流量,云服务器弄无限流量
- 速卖通代运营靠谱吗?招人做对比代运营,找代运营经验分享
- java puzzler_Java Puzzler学习笔记
- 10 个常用的软件架构模式
- 金铲铲之战高峰期1万人排队,LOL手游如果公测会怎样?
- sqlserver查询当月的每一天_SQL生成一年每一天的时间列表的几种方法
- nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务
- python一个星期可以入门吗_Python一星期入门第6篇: 模块和包
- Eclipse Tips(2):代码颜色设置
- master节点重置后添加node报错_企业实战(23)基于Docker平台的Jenkins添加node节点与报错详解(2)...
- myeclipse发布项目
- 傅立叶变换的深入理解(转帖)
- java 分析图片文字大小时,剔除部分异常数据,思路梳理(格拉布斯准则)
- 网易互娱2020游戏研发实习生笔经面经
- 【Multisim仿真】数字电路仿真16路往复流水灯
- 食品药品版本库存管理软件
- C#读取Excel文件(*.xls)|*.xls(2种方法)
- pytorch中加入注意力机制(CBAM),以ResNet为例。到底要不要用ImageNet预训练?如何加预训练参数?
- 十个拿来就能用的网页炫酷特效
- maya海龟烘焙法线_maya法线烘焙
热门文章
- Sql Server 本地链接设置 127.0.0.1
- Spark API 之subtract(差集)
- layui 显示饼图_echarts实现饼图绘制
- LXDE桌面系统设置快捷键
- 开源机器人库orocos KDL 学习笔记(三):Kinematric Chain
- 解决微信小程序不在request合法域名列表中的问题
- Redis(十):sentinel.conf 配置文件说明
- sklearn.neighbors.KNeighborsClassifier()函数解析(最清晰的解释)
- 【小程序源码】笑话段子手
- 使用Fiddler快速保存微信视频号上的视频