首页 > 其他分享 >4、过滤器的使用及自定义过滤器

4、过滤器的使用及自定义过滤器

时间:2024-03-21 13:22:07浏览次数:27  
标签:__ name 自定义 datetime 使用 过滤器 my

from flask import Flask, render_template
from datetime import datetime
app = Flask(__name__)


# 定义类用于参数传递
class User:
    """
    对于参数age是后续加上去的,因为前期已经对于类进行过实例化了,所以在增加参数时,最好给上一个默认值.
    不然之前的写法都要重新修改.
    """
    def __init__(self, name, e_mail, age=18):
        self.name = name
        self.e_mail = e_mail
        self.age = age


# 定义过滤器函数(格式化时间)
# 前面有尝试用format这个作为第二个参数,结果显示为内置(是提示,并不是报错).
def datetime_format(value, for_mat="%Y年%m月%d日 %H:%M"):
    return value.strftime(for_mat)


# dformat为在模板中使用的过滤器的名称.相当于Jinja2模板中自带的length
app.add_template_filter(datetime_format, "dformat")


@app.route("/")
def hello_world():
    """
    # 关于模板中过滤器(|)的使用,过滤器有很多这里只举例(length)说明, 详见filter.html
    # 如果Jinja2模板自带的过滤器都不能满足你的要求,还可以自定义过滤器(自定义的函数:datetime_format)
    """
    user = User(name="Tina", e_mail="[email protected]")
    my_time = datetime.now()
    return render_template("filter.html", user=user, my_time=my_time)


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5001, debug=True)

效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器使用</title>
</head>
<body>
<div>用户名: {{ user.name }}-名称长度: {{ user.name|length }}</div>
<div>时间: {{ my_time }}</div>
<div>自定义过滤器后的时间: {{ my_time|dformat }}</div>
</body>
</html>
filter.html

 

标签:__,name,自定义,datetime,使用,过滤器,my
From: https://www.cnblogs.com/pythonex/p/18087163

相关文章

  • Git安装与使用总结
    Git分布式版本控制工具一、Git安装与配置Git基本配置打开GitBash设置用户信息#配置全局用户名和用户邮箱gitconfig--globaluser.namexxxgitconfig--globaluser.emailxxx@xx.com查看用户信息#查看用户名和用户邮箱gitconfig--globaluser.namegi......
  • linux apache 使用记录
    1、安装集成phpyuminstallhttpdyuminstallphpsystemctlrestarthttpd2、开启url重写功能修改/etc/httpd/conf/httpd.conf:A开启重写模块:LoadModulerewrite_modulemodules/mod_rewrite.soIncludeconf.modules.d/*.confB修改参数 AllowOverrideAllC网站根目录添......
  • SD-如何使用
    用法安装软件后,导航到您的浏览器(我们建议使用Chrome、Edge或Firefox以防止出现问题)并导航到http://localhost:9000。项目可能需要几秒钟的时间才能准备好。加载后应该是这样的:提示您可以将多个Jobs.项目会将它们一一处理。您无需等到第一项工作完成。您可以通过每行输......
  • C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedExceptio
    ​ C#使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)代码:HttpListenerlistener=newHttpListener();错误:System.PlatformNotSupportedException:OperationisnotsupportedonthisplatformInSystem.Net.HttpListener..ctor()......
  • vue2扫码枪串口模式的使用
    1.下载依赖包  serialportnpmiserialport2.创建文件code-gun.jsvar{SerialPort}=require("serialport");//串口列表SerialPort.list().then((ports)=>{ports.forEach((port)=>{console.log(port);});}).catch((err)=&......
  • 如何使用知网研学桌面端下载文献、收集资料?
    知网研学作为一款文献管理软件,在文献搜集、文献阅读、论文写作上,提供了丰富的功能。聚焦到文献搜集功能,在知网研学中怎么快速下载文献、收集资料呢?可以通过以下几种方式快速收集下载文献:(1)通过知网检索查找、下载文献对于学习已经购买了知网数据库的用户,可以进行相关设置,实现......
  • Z3约束器使用流程
    Z3约束器使用流程目录Z3约束器使用流程z3基本数据类型初始化未知数序列z3求解四步骤1.创建约束求解器2.s.add3.判断解是否存在4.求解CTF中的Z3模板z3基本数据类型Int#整型Bool#布尔型Array#数组BitVe......
  • vue项目中使用html2canvas插件
    一、生成海报图vue项目中使用html2canvas插件,实现将编写的html代码转成可以保存的图片,只需要以下四步。1、在vue项目中安装插件npmihtml2canvas 2、在需要使用到的页面引入html2canvas插件importhtml2canvasfrom“html2canvas”; 3、按照设计图编写html代码<d......
  • 使用API有效率地管理Dynadot域名,使用API为域名进行续费
    关于DynadotDynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。Dynadot平台操作教程索引(包括域名邮箱,解析,建站,优惠长期更新)Dynadot.com提供的API是专为效率而构建的高级域名管理......
  • 由版本不兼容问题引出的“pip 24.1 版本开始pip 将强制要求使用符合规范的依赖规范”
    故事的开始是……(其实是两个报错,一个是图中所示,一个是GPU问题)但是当我安装tensorboard出现了这种报错 查看报错,发现是版本问题 于是我尝试升级omegaconf版本,然后再次提醒版本问题这次不兼容的是fairseq和hydra-core,提示说这俩版本太高了 既然高那就降低版本,但是降低......