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读取文件时的路径问题
Feb 11 Python
Django开发中的日志输出的方法
Jul 02 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
python中的数据结构比较
May 13 Python
python之列表推导式的用法
Nov 29 Python
Django正则URL匹配实现流程解析
Nov 13 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 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在Web开发领域的优势
2006/10/09 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Python3的socket使用方法详解
2020/02/18 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
工商管理专业学生的自我评价
2013/10/01 职场文书
师范生实习自我鉴定
2013/11/01 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
个人年终总结范文
2015/03/09 职场文书
办公室禁烟通知
2015/04/23 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS