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


Posted in Python onOctober 18, 2019

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python内置函数之filter map reduce介绍
Nov 30 Python
浅谈Python单向链表的实现
Dec 24 Python
Django返回json数据用法示例
Sep 18 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
详解爬虫被封的问题
Apr 23 Python
Python 共享变量加锁、释放详解
Aug 28 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 Python
Python入门之使用pandas分析excel数据
May 12 Python
解决Tkinter中button按钮未按却主动执行command函数的问题
May 23 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 #Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 #Python
python调用Matplotlib绘制分布点图
Oct 18 #Python
Python 异常处理Ⅳ过程图解
Oct 18 #Python
python库matplotlib绘制坐标图
Oct 18 #Python
python实现WebSocket服务端过程解析
Oct 18 #Python
django实现支付宝支付实例讲解
Oct 17 #Python
You might like
用PHP实现验证码功能
2006/10/09 PHP
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
python解析xml模块封装代码
2014/02/07 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python实现验证码识别功能
2018/06/07 Python
python占位符输入方式实例
2019/05/27 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
基于python求两个列表的并集.交集.差集
2020/02/10 Python
python输出pdf文档的实例
2020/02/13 Python
酒店管理自荐信
2013/10/23 职场文书
酒店副总岗位职责
2013/12/24 职场文书
重阳节登山活动方案
2014/02/03 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
校友回访母校寄语
2015/02/26 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书