Django 中 自定义过滤器的创建和使用,以时间过滤器为例

django中使用自定义过滤器和自定义标签 自定义过滤器 首先在app底下新建一个templatetags目录,里面添加两个文件,目录结构如下: 然后在settings.py中把templatetags目录作为app注册 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttyp... 阅读详情

这个项目里面自定义了过滤器,那么如何创建自定义过滤器呢?

模版过滤器必须要放在 app中,并且这个 app必须要在 INSTALLED_APPS中进行安装。然后再在这个 app下面创建一个 Python包叫做 templatetags。再在这个包下面创建一个 python文件。
本项目中的python文件名字为print_timestamp.py

在创建了存储过滤器的文件后,接下来就是在这个文件中写过滤器了。过滤器实际上就是python中的一个函数,只不过是把这个函数注册到模板库中,以后在模板中就可以使用这个函数了。但是这个函数的参数有限制,第一个参数必须是这个过滤器需要处理的值,第二个参数可有可无,如果有,那么就意味着在模板中可以传递参数。并且过滤器的函数最多只能有两个参数。在写完过滤器后,再使用 django.template.Library对象注册进去。

在这里插入图片描述

import time
from django import template
# 创建模板库对象
register = template.Library()


def print_timestamp(timestamp):
    ...
    # specify format here
    return time.strftime("%Y-%m-%d", time.localtime(timestamp))


def print_timestamp2(timestamp):
    ...
    # specify format here
    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))

# 将函数注册到模板库里面
register.filter(print_timestamp)
register.filter(print_timestamp2)

if __name__ == '__main__':
    print(print_timestamp2(1579597200))
    # print(time.mktime(time.strptime('2020-01-21 17:00', "%Y-%m-%d %H:%M")))

以上就是创建了一个时间过滤器,将数据库里面查询出来的时间用这个过滤器转化为我们要的格式的时间。
这个是创建了过滤器了,但是如何使用呢?

在HTML里面可以将数据库查询出来的时间进行展示,但是要转化为我们要的时间

我们首先是在HTML里面引入过滤器

在这里插入图片描述
使用
在这里插入图片描述
以上就是自定义过滤器,并且如何使用的流程

保姆级教程:DBeaver社区版安装与驱动配置(附阿里云镜像解决下载超时) 本文提供DBeaver社区版的保姆级安装教程,涵盖版本选择、安装路径设置到驱动配置优化。特别针对国内用户遇到的下载超时问题,详细介绍了如何配置阿里云镜像加速驱动下载,确保高效连接MySQL等主流数据库。 阅读详情

相关推荐

Linux文件操作四剑客

① /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 yyyy-MM-dd / yy-MM-dd 格式。⑥“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数。

wuds_158的博客 1612

django 自定义模版过滤器

自定义的模版过滤器必须要放在app中,并且该app必须在INSTALLED_APPS中进行安装。然后再在这个app下面创建一个python包叫做templatetags(这个名字是固定的,不能随意更改)。再在这个包下面创建一个python文件。然后在这个文件中写过滤器。   过滤器实际上就是python中的一个函数,只不过是把这个函数注册到模板库中,以后在模版中使用这个函数了。但是这个函数的参数有...

c98136202zig的博客 275

基于STM32的馆藏文物保存环境监测系统设计与实现

针对馆藏文物保存环境中温湿度、光照、有害气体等参数波动易导致文物损坏的问题,本文设计了一种基于STM32微控制器的馆藏文物保存环境监测系统。该系统以STM32L431RCT6为核心,集成高精度传感器实现多参数实时采集,通过有线与无线结合的通信方式构建监测网络,具备数据存储、异常预警、远程监控等功能。测试结果表明,系统温湿度测量精度分别达±0.2℃、±2%RH,光照与有害气体检测误差≤5%,可满足文物保存环境的高精度监测需求,为文物保护提供科学的数据支撑。

m0_74026776的博客 1544

Django自定义时间过滤器

1.创建apps/news/templatetags/datetime_filter.py文件 import pytz from django import template from datetime import datetime register = template.Library() # 时间过滤器 @register.filter() def time_filter(data): if isinstance(data, datetime): now = datet

qq_44990881的博客 657

MCP详解:手把手教你理解和如何使用各种开源MCP服务

MCP 作为一种开放协议,为 AI 模型与外部世界的连接提供了标准化的解决方案。它不仅降低了开发门槛,还极大地扩展了 AI 应用的边界。无论是开发者还是普通用户,都可以通过 MCP 更高效地利用 AI 技术,实现更多智能化的功能。

王哥儿聊AI的博客 6058

同济大学824复试全攻略:从笔试到面试的实战解析

本文详细解析同济大学824复试全流程,包括专业课笔试、外语听力与口语、专业外语笔试和专业综合面试的备考策略。重点分享数字信号处理、计算机网络等专业课的高效学习方法,以及专业外语速成和口语面试技巧,助力考生全面提升复试表现。

qq_27496129的博客 1056

【django】过滤器和自定义过滤器

一、过滤器语法 语法如下: 使⽤管道符号 | 来应⽤过滤器,⽤于进⾏计算、转换操作,可以使⽤在变量、标签中。 如果过滤器需要参数,则使⽤冒号:传递参数。 变量 | 过滤器:参数 列举⼏个如下: safe,禁⽤转义,告诉模板这个变量是安全的,可以解释执⾏ length,⻓度,返回字符串包含字符的个数,或列表、元组、字典的元素个数。 default,默认值,如果变量不存在时则返回默认值。 data | default:‘默认值’。 date,⽇期,⽤于对⽇期类型的值进⾏字符串格式化。 常⽤的格式化字符

python全栈 1634

6-2 GPU GART 绑定机制与 TLB 失效

本文详细解析了AMD GPU的GART(Graphics Address Remapping Table)绑定机制实现。主要内容包括: 绑定流程:从ttm_tt_bind()到硬件PTE更新的完整调用链,重点分析amdgpu_gart_bind()函数实现。 关键函数: amdgpu_gart_bind():执行安全检查、记录映射关系、更新页表等操作 amdgpu_gart_map():将CPU页映射为多个GPU页并填充PTE amdgpu_gmc_set_pte_pde():处理硬件特定的PTE格式 内存

图形/计算GPU的驱动与虚拟化技术分享园地 2658

分类与归档

这是本人在学习大牛的博客教程做的笔记,知识拾遗,复习(博客好像不能设置为私有的。。。) 模型的 filter 过滤功能。 created_time = models.DateTimeField() blog/views.py def archives(request, year, month): post_list = Post.objects.filter(created

xiaoqingyu123的博客 791

0.嵌入式控制器EC实战 Embedded Controller开发概述

文章目录前言1.嵌入式控制器EC概述2.EC芯片框图(IT8502为例)3.General Purpose I/O Port (GPIO)4.SMBus(System Management Bus,系统管理总线)5.PWM、TACH6.KBC(KeyBoard Controller)7.PS/28.ADC(模数转换)总结 前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 1.嵌入式控制器EC概述 嵌入式控制器EC是挂在CPU的L

qq_30135687的博客 1万+

金三银四!风控建模岗面试题库大全:从理论到实战避坑指南

风控建模面试大全

阿黎逸阳的博客 769

[Django] drf filter过滤

文章目录自定义过滤方法 自定义过滤方法 import django_filters from household_register.models import ApplyModel class ApplyFilter(django_filters.rest_framework.FilterSet): depts = django_filters.CharFilter(method='filter_depts') class Meta: model = Appl

晴朗的心情博客 2609

基于单片机设计的智能消防排烟窗控制系统_422

随着城市化进程的不断加快,高层建筑、大型商业综合体以及地下空间的数量迅速增加,建筑内部结构日趋复杂,一旦发生火灾,烟雾和有毒气体往往比明火更具威胁性。大量研究表明,在火灾事故中,人员伤亡的主要原因并非直接烧伤,而是由于吸入烟雾及一氧化碳等有毒气体导致窒息。因此,如何在火灾初期快速排烟、降低有害气体浓度,并及时进行预警,成为现代消防系统设计中的关键问题。传统的消防排烟系统多依赖人工操作或简单的联动控制方式,存在响应滞后、自动化程度低、信息反馈不及时等问题。在实际应用中,当火灾发生时,如果不能第一时间开启排烟窗

405

Django自定义模板标签与过滤器

Django模板语言(DTL)是一种用于在HTML中插入动态内容的语言。它允许开发者在模板中使用变量、标签、过滤器和注释,以便动态生成页面内容。变量用于显示动态数据,标签用于控制模板逻辑,过滤器用于格式化变量的输出,注释用于添加注释而不会在最终渲染中显示。要创建自定义过滤器,首先需要在Django应用的某个合适位置(通常是目录下)创建一个Python模块,该模块包含自定义过滤器的代码。自定义过滤器是一个Python函数,接受一个或多个参数,并返回处理后的结果。

https://blog.cmdragon.cn/ 1391

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Django自定义过滤器

{#加载过滤器#}

Wgq0731的博客 1255

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

django2自定义过滤器

一、django中自带的过滤器参考 二、django中自定义过滤器 1、在app下创建一个包templatetags(名字必须是这个) 2、这个app必须在settings.py中注册 3、在templatetags中创建一个xx.py文件 4、下面定义了2个过滤器 from django import template import datetime register = te...

水痕 677

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Django自定义模板过滤器之将时间戳修改为指定的格式

介绍:django自带了很多过滤器, 但是有的时候不能完全满足开发需要, 所以就需要自己定义过滤器。今天开发的时候就遇到了这个问题,开发的项目需要从其他项目中获取数据, 其中获取的时间为java语言时间戳,就不能通过django自带的date过滤器完成转换。这时就用到了自定义的方式。 1、在项目的app文件下新建一个package包 例如:在项目下的 users app中新建了一个名称为 tem...

weixin_39944891的博客 974

Django4:模板(下)—自定义过滤器_django-filter 在django4

虽然DTL给我们内置了许多好用的过滤器。但是有些时候还是不能满足我们的需求。因此Django给我们提供了一个接口,可以让我们自定义过滤器,实现自己的需求。模版过滤器必须要放在app中,并且这个app必须要在INSTALLED_APPS中进行安装。然后再在这个app下面创建一个Python包叫做templatetags。再在这个包下面创建一个python文件。bookviews.pyurls.pymodels.py在创建了存储过滤器的文件后,接下来就是在这个文件中写过滤器了。

2401_84254555的博客 1020

django的自定义标签和过滤器

django的自定义标签和过滤器在 Django 中,自定义标签(Custom Tags) 和 自定义过滤器(Custom Filters) 是扩展模板功能的重要方式,允许你在模板中执行自定义逻辑。过滤器用于对变量进行简单处理(如格式化、计算等),语法为 {{ variable|filter_name:arg }}。(1) 在 app 目录下创建 templatetags 文件夹yourapp/│ └── custom_filters.py # 自定义过滤器文件└── ...

weixin_43574373的博客 535

Django自定义过滤器以及标签

自定义的引入: 内置函数 ---------- 自定义函数 内置模块----------------自定义模块 内置过滤器----------------- 自定义过滤器 内置标签-------------自定义标签 关于自定义: 1-根据一定规则,自己定义出符合需求功能的. 2-用在任何你有需求的地方 3-因为内置的满足不了我们的需求 4-不同的东西有不同的定义规则 文件路径配置: temp...

qq_42662411的博客 317

Django如何自定义DTL过滤器?

1.在app下创建templatetags文件夹 , [过滤器名]文件 ├── templatetags │ ├── __init__.py │ └── addjpg.py 2.addjpg.py from django import template register = template.Library() def adfjpg(value, word='.jpg'): #...

Yakulttt的博客 329

38.Python自定义计算时间过滤器

在写自定义的过滤器时,因为register.filter()本身可以作为一个装饰器,所以可以使用: @register.filter 代替 register.filter("过滤器名","函数名") 如果使用@register.filter进行注册自定义的过滤器,默认的过滤器名和函数名是相同的,当然,也可以进行修改,只需要在@register.filter(“my_filter”),此时的...

zjy123078_zjy的博客 612

Django——模板—自定义过滤器

自定义过滤器 # myfilter.py from django import template # 实例化⾃定义过滤器注册对象 register = template.Library() # name代表在模板中使⽤的过滤器的名称 @register.filter(name='hello') def hello(value,arg): """ :param value: 传给hel...

piduocheng0577的博客 148

Django自定义markdown过滤器

一 安装第三方库Markdown (venv) E:\Django\mysite>pip install Markdown 二 在mysite/article/templatetags/article_tags.py定义markdown过滤器 # template包含了很多与模板有关的类和方法 from django import template from django.db.m...

实践求真知 727

django自定义过滤器和标签

自定义过滤器和标签都写在python文件中(.py),所以先新建一个文件夹名字自己取,在这个文件夹下再新建一个文件夹,名字一般写作templatetags,写这个名字,是为了方便与系统连接,最后在templatetags下新建一个python文件, 取个名字,这里叫common_extra.py,然后将新建的最外层那个文件夹名注册到settings.py中的APPS里面 过滤器和标签一般在模版中写...

没毛病的博客 206
上一篇: The temporary upload location [C:\Users\test\AppData\Local\Temp\tomcat.8083403186712289847.8080\报错
下一篇: Django静态文件的处理,static 和media 文件夹的配置
一写代码就开心
博客等级 码龄7年 2万+粉丝 1037原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一写代码就开心

你的打赏将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值