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多线程编程(一):threading模块综述
Apr 05 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
python递归实现快速排序
Aug 18 Python
Python 读写文件的操作代码
Sep 20 Python
python面试题小结附答案实例代码
Apr 11 Python
Python控制Firefox方法总结
Jun 03 Python
Python序列类型的打包和解包实例
Dec 21 Python
虚拟机下载python是否需要联网
Jul 27 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
如何用python绘制雷达图
Apr 24 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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
中东人咖啡哲学
2021/03/03 咖啡文化
php的access操作类
2008/04/09 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
JMS中Topic和Queue有什么区别
2013/05/15 面试题
幼儿教师师德承诺书
2014/05/23 职场文书
员工工作及收入证明
2014/10/28 职场文书
大学生毕业个人总结
2015/02/15 职场文书
监理中标通知书
2015/04/16 职场文书
工程质量保证书
2015/05/09 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
中学总务处工作总结
2015/08/12 职场文书
导游词之镇江焦山
2019/11/21 职场文书
vscode内网访问服务器的方法
2022/06/28 Servers