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中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 Python
python正则表达式抓取成语网站
Nov 20 Python
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
Python CSV模块使用实例
Apr 09 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
对Python3 pyc 文件的使用详解
Feb 16 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
python ubplot使用方法解析
Jan 10 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Python语法学习之进程的创建与常用方法详解
Apr 08 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中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
简单了解什么是神经网络
2017/12/23 Python
Python爬虫文件下载图文教程
2018/12/23 Python
如何在Django项目中引入静态文件
2019/07/26 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Python实现结构体代码实例
2020/02/10 Python
python简单的三元一次方程求解实例
2020/04/02 Python
Python logging模块原理解析及应用
2020/08/13 Python
关于Python错误重试方法总结
2021/01/03 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
华三通信H3C面试题
2015/05/15 面试题
质检部经理岗位职责
2014/02/19 职场文书
母婴店促销方案
2014/03/05 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python