网络编程
位置:首页>> 网络编程>> Python编程>> Python Django模板之模板过滤器与自定义模板过滤器示例

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

作者:houyanhua1  发布时间:2023-10-31 20:37:48 

标签:Python,Django,模板过滤器

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

来源:https://blog.csdn.net/houyanhua1/article/details/84999202

0
投稿

猜你喜欢

  • gchart是基于google图表API的jquery组件。使用gchart可以方便地生成强大的各种图表和报表。基于google图表接口的g
  • 配置指令如下:[opcache]zend_extension=opcache.soopcache.enable_cli=1;共享内存大小,
  • 1、仅 Safari 和 Opera 识别的 Hack@media all and (min-width:&n
  • 本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下基本功能:输入并存储学生的信息:通过输入学生的学号、
  • 目录1、创建相关新应用2、获取Access Token3、分析评论并进行观点抽取4、运行结果利用百度API自然语言处理技术中的评论观点抽取方
  • 目录Python3 面向对象一丶面向对象技术简介对象可以包含任意数量和类型的数据。2.Python面向对象的三大特性一、继承 二、
  • 本文实例分析了php字符串截取函数用法。分享给大家供大家参考。具体分析如下:php自带的截取字符串的函数只能处理英文,数字的不能截取中文混排
  • 如何选择速度最快的站点? <html><head><meta http-equiv=&qu
  • 尽管可能是个比较老的话题了,但是我还是从来没有整理过。今天在《精通HTML》一书中看到,这里整理一下。在XHTML中,<html>
  • 有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。import timestart =
  • 很多网站现在都有使用QQ作为在线客服工具,我们点击它可以很方便的和网站人员联系,本站为你整理了在网站上使用QQ在线客服的代码,共13种风格,
  • 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Ma
  • 说到Javascript的类继承,就必然离不开原型链,但只通过原型链实现的继承有着不少缺陷。无参数类继承的问题先看一段示例代码,实现B继承于
  • 有助于效率的类型选择1、使你的数据尽可能小最基本的优化之一是使你的数据(和索引)在磁盘上(并且在内存中)占据的空间尽可能小。这能给出巨大的改
  • 转发和重定向:转发:一次请求和响应,请求的地址没有发生变化,如果此时刷新页面,就会出现重做现象。重定向:一次以上的请求和响应,请求地址发生一
  • javascript版 俄罗斯方块(Russian box)小游戏,喜欢的朋友可以玩玩。对源代码感兴趣的朋友也可以研究一下。玩法介绍:可以输
  • 这篇文章将介绍在Python中使用 "frozenset "函数的指南,该函数返回一个新的frozenset类型的Pyt
  • 细线边框是网页中定位区分内容常用的一种方法,配合特定图片的使用,往往能够达到不错的效果,那么如何制作细线边框呢?asp之家注:现在要实现这个
  • 1. RequestDispatcher.forward()在服务器端起作用,当使用forward()时,Servlet engine传递H
  • 对MySQL的用户而言,备受诟病的一个问题就是导入SQL备份文件时不能并发,使得导入的效率很低。今天,我们就来改变下思路,尝试一下并发导入的
手机版 网络编程 asp之家 www.aspxhome.com