关于Flask过滤器

Flask自带的过滤器功能有限,很多时候没办法满足用户需求。
故,Flask为用户提供了template_filter装饰器,用来创建用户所需的自定义过滤器

时间显示

经常刷博客的朋友都会注意,博客发布时间的显示大致规则如下:

时间过滤器

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/6/14 23:56
# @Software : PyCharm
# @version  :Python 3.6.8
# @File     : app.pyfrom flask import Flask, render_template
import datetimeapp = Flask(__name__)_now = datetime.datetime.now()@app.template_filter("time_filter")
def time_filter(time):if not isinstance(time, datetime.datetime):return time_period = (_now - time).total_seconds()if _period < 60:return "刚刚"elif 60 <= _period < 3600:return "%s分钟前" % int(_period / 60)elif 3600 <= _period < 86400:return "%s小时前" % int(_period / 3600)elif 86400 <= _period < 2592000:return "%s天前" % int(_period / 86400)else:return time.strftime('%Y-%m-%d %H:%M')@app.route('/')
def index():timeList = ['abcd',_now,_now - datetime.timedelta(minutes=5),_now - datetime.timedelta(hours=10),_now - datetime.timedelta(days=15),_now - datetime.timedelta(days=150)]return render_template('index.html', timeList=timeList)if __name__ == '__main__':app.run()

对应的HTML基础模板:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>智能显示时间</title>{% for time in timeList %}<ul><li><p>{{time}}</p><p>{{time|time_filter}}</p></li></ul>{% endfor %}
</head>
<body></body>
</html>

代码实现效果

智能时间过滤器效果.png

智能时间过滤器效果.png

好了,今天的内容就到这里,如果觉得有帮助,记得点赞支持。欢迎大家关注我的公众号【清风Python】

来源:清风Python

Flask自定义时间过滤器相关推荐

  1. 前端学习(1990)vue之电商管理系统电商系统之自定义时间过滤器

    目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...

  2. flask自定义过滤器,flash,form表单

    1.自定义过滤器 自定义的过滤器,过滤器本质上是一个函数,当自带的过滤器不满住要求的时候,我要进行重写 过滤器注册有两种方式 1.app.add_template_filter(自定义过滤器的名字,' ...

  3. Django中的日期处理注意事项和自定义时间格式转换

    我们在用Django创建models时,常常会涉及时间日期字段的处理,Django里日期相关Field有DateTimeField.DateField和TimeField三种类型,看似简单,但其中有一 ...

  4. 如何自定义模板过滤器?

    什么是过滤器? 过滤器相当于一个函数,其作用于模板中的变量.过滤器将变量传入参数中,尔后根据本身功能进行过滤后,将结果返回到模板页面中. 什么情况下需要用到自定义过滤器? 当内置过滤器不能满足我们项目 ...

  5. flask自定义返回response

    文章目录 flask自定义返回response 直接通过函数返回 介绍一下 `jsonify` 通过构建 返回对象 总结 参考文档 flask自定义返回response Flask 框架在python ...

  6. java学习笔记(2):获取文件名和自定义文件过滤器

    //自定义文件过滤器import java.io.File;import javax.swing.filechooser.*;public class JavaChooser extends File ...

  7. vue 多个filters_vue自定义filters过滤器

    官方给出 在项目中我们如果有多个filters,那么我怎么一次注册,全局可用,我们在项目里新建一个filters文件夹,如下,index.js是出口文件,readMore是一个对字符串做处理的过滤器 ...

  8. Django从理论到实战(part21)--自定义模板过滤器

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  9. Python+django网页设计入门(18):自定义模板过滤器

    前导课程: Python+django网页设计入门(17):模板语法及应用 Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模 ...

最新文章

  1. Notepad++写Verilog HDL代码时,在注释语句下出现红色波浪线怎么办?
  2. wsl2 Ubuntu 18.04 安装 ROS
  3. STM32CubeMX的安装
  4. 利用display属性写的遮罩层
  5. 经常用到的一些小病的预防的治疗
  6. 使用 json 进行神经网络结构信息的格式化 (dump load)
  7. [转]EntityFramework Core技术线路(EF7已经更名为EF Core,并于2016年6月底发布)
  8. 容器 - HashTable
  9. 再说“两本交换机图书内容完全不一样”
  10. opendrive文件结构
  11. viper4android xml,ROM 定制图文教程 ROM 制作深度解析(新手适用)
  12. 对象存储是什么?看过就明白了
  13. 盖茨与鲍尔默愤而诉Google 李开复离职有内情 -- ,买skype来控制桌面建立渠道吧
  14. @Required注解
  15. 前端漂亮的字体 font-family
  16. Unity VR:如何修改fbx动画
  17. 计算机word文本段落位置互换,用word怎么使两个段落互换位置
  18. 【Python】为图片加上数字上标
  19. 软考软件评测师备考攻略
  20. Asp.net中开发使用ActiveX控件

热门文章

  1. 重庆大学李婷婷计算机学院,北京大学青年研究中心赴我校考察调研
  2. vue手势滚动_vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
  3. springboot redis token_Spring Boot+Redis 扛住,瞬间千次重复提交(实例)
  4. boot定时任务开启和关闭 spring_spring-boot 多线程并发定时任务的解决方案
  5. Java中try catch finally语句中含有return语句的执行情况
  6. poj Balanced Lineup RMQ
  7. C语言课后习题(30)
  8. osc mysql_MySQL学习(一) - osc_0sz5p35w的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 干货下载丨开源数据库安全管理
  10. 下载丨Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档