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 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
Python 如何访问外围作用域中的变量
Sep 11 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
python获取list下标及其值的简单方法
Sep 12 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
Python实现登陆文件验证方法
Oct 06 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
关于的python五子棋的算法
May 02 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/11/27 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
JScript的条件编译
2007/05/29 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
python生成随机密码或随机字符串的方法
2015/07/03 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python实现log日志的示例代码
2018/04/28 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
python如何求100以内的素数
2020/05/27 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
酒店副总岗位职责
2013/12/24 职场文书
三年级数学教学反思
2014/01/31 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
社区反邪教工作方案
2014/06/16 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书