Python Django模板之模板过滤器与自定义模板过滤器示例

作者:houyanhua1 时间:2023-10-31 20:37:48 

本文实例讲述了Python Django模板之模板过滤器与自定义模板过滤器。分享给大家供大家参考,具体如下:

模板过滤器

过滤器用于对模板变量进行操作。

date:改变日期的显示格式。

length:求长度。字符串,列表。

default:设置模板变量的默认值。

格式:模板变量|过滤器:参数

自定义过滤器。

自定义的过滤器函数,至少有一个参数,最多两个

例如:


{{ book.btitle|length }} # 返回字符串或列表的长度

{{ book.bpub_date|date:'Y年-m月-d日' }} # 格式化日期格式

{{ content|default:'hello' }} # 为不存在的变量指定默认值。

自定义模板过滤器

应用名/templatetags/filters.py(自定义过滤器函数,templatetags文件名固定):


# 自定义过滤器
# 过滤器其实就是python函数
from django.template import Library
# 创建一个Library类的对象
register = Library()
# 自定义的过滤器函数,至少有一个参数,最多两个。(第一个参数就是要过滤的模板变量)
@register.filter
def mod(num):
 '''判断num是否为偶数'''
 return num%2 == 0
@register.filter
def mod_val(num, val):
 '''判断num是否能被val整除'''
 return num%val == 0

demo.html(模板文件,使用自定义过滤器):


<!DOCTYPE html>
<html lang="en">
{% load filters %} {# load标签加载自定义过滤器的py文件。和templatetags/filters.py 的py文件名一致。 #}
<head>
 <meta charset="UTF-8">
 <title>模板过滤器</title>
</head>
<body>
<ul>
 {# {% if book.id|mod %}#}  {# 使用自定义的过滤器。需要先load自定义过滤器的py文件 #}
 {% if book.id|mod_val:3 %}  {# 使用自定义的过滤器 #}
   。。。
 {% else %}
   。。。
 {% endif %}
</ul>
</body>
</html>

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

来源:https://blog.csdn.net/houyanhua1/article/details/84999202

标签:Python,Django,模板过滤器
0
投稿

猜你喜欢

  • MySQL 查看链接及杀掉异常链接的方法

    2024-01-27 00:29:40
  • Python中if __name__ == '__main__'作用解析

    2021-04-14 09:02:42
  • mysql8.0.20数据目录迁移的方法

    2024-01-25 04:41:18
  • Python 捕获代码中所有异常的方法

    2022-08-31 06:44:00
  • Python实现动态条形图的示例详解

    2021-05-18 13:40:38
  • Pycharm运行时总是跳出Python Console问题

    2023-06-22 11:40:34
  • 如何将txt文本中的数据轻松导入MySQL表中

    2009-03-06 17:35:00
  • python日志记录模块实例及改进

    2021-03-14 12:49:09
  • python 平衡二叉树实现代码示例

    2022-04-24 03:20:34
  • 解析Javascript中中括号“[]”的多义性

    2023-09-03 09:59:35
  • python 自动监控最新邮件并读取的操作

    2023-02-04 12:58:51
  • Python中的Pandas 时间函数 time 、datetime 模块和时间处理基础讲解

    2022-08-01 05:18:41
  • 如何在Python中引用其他模块

    2022-09-26 23:30:21
  • JS 调试中常见的报错问题解决方法

    2023-07-16 07:42:13
  • 微信小程序实现分页查询详解

    2024-04-16 10:38:58
  • Django Paginator分页器的使用示例

    2021-10-25 02:36:39
  • 10个提高网站可用性的实用技巧[译]

    2009-06-12 12:37:00
  • Python pandas DataFrame基础运算及空值填充详解

    2022-01-01 22:19:49
  • sql server 编译与重编译详解

    2024-01-14 11:02:59
  • python制作一个桌面便签软件

    2021-02-23 05:20:40
  • asp之家 网络编程 m.aspxhome.com