iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Django模板中如何实现常用的过滤器
  • 278
分享到

Django模板中如何实现常用的过滤器

2023-06-15 05:06:44 278人浏览 八月长安
摘要

这篇文章主要介绍Django模板中如何实现常用的过滤器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在python中我们是通过函数的形式来完成的。

这篇文章主要介绍Django模板中如何实现常用的过滤器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

模版常用过滤器

在模版中,有时候需要对一些数据进行处理以后才能使用。一般在python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。

add

将传进来的参数添加到原来的值上面。这个过滤器会尝试将值和参数转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将值和参数进行拼接。如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表。示例代码如下:

{{ value|add:"2" }}

如果value是等于4,那么结果将是6。如果value是等于一个普通的字符串,比如abc,那么结果将是abc2。add过滤器的源代码如下:

def add(value, arg):    """Add the arg to the value."""    try:        return int(value) + int(arg)    except (ValueError, TypeError):        try:            return value + arg        except Exception:            return ''

cut

移除值中所有指定的字符串。类似于Python中的replace(args,"")。示例代码如下:

{{ value|cut:" " }}

以上示例将会移除value中所有的空格字符。cut过滤器的源代码如下:

def cut(value, arg):    """Remove all values of arg from the given string."""    safe = isinstance(value, SafeData)    value = value.replace(arg, '')    if safe and arg != ';':        return mark_safe(value)    return value

date

将一个日期按照指定的格式,格式化成字符串。示例代码如下:

# 数据context = {    "birthday": datetime.now()}# 模版{{ birthday|date:"Y/m/d" }}

那么将会输出2018/02/01。其中Y代表的是四位数字的年份,m代表的是两位数字的月份,d代表的是两位数字的日。
还有更多时间格式化的方式。见下表。

格式字符描述示例
Y四位数字的年份2020
m两位数字的月份01-12
n月份,1-9前面没有0前缀1-12
d两位数字的天01-31
j天,但是1-9前面没有0前缀1-31
g小时,12小时格式的,1-9前面没有0前缀1-12
h小时,12小时格式的,1-9前面有0前缀01-12
G小时,24小时格式的,1-9前面没有0前缀1-23
H小时,24小时格式的,1-9前面有0前缀01-23
i分钟,1-9前面有0前缀00-59
s秒,1-9前面有0前缀00-59

default

如果值被评估为False。比如[],"",None,{}等这些在if判断中为False的值,都会使用default过滤器提供的默认值。示例代码如下:

{{ value|default:"nothing" }}

如果value是等于一个空的字符串。比如"",那么以上代码将会输出nothing。 

default_if_none

如果值是None,那么将会使用default_if_none提供的默认值。这个和default有区别,default是所有被评估为False的都会使用默认值。而default_if_none则只有这个值是等于None的时候才会使用默认值。示例代码如下:

{{ value|default_if_none:"nothing" }}

如果value是等于""也即空字符串,那么以上会输出空字符串。如果value是一个None值,以上代码才会输出nothing。

first

返回列表/元组/字符串中的第一个元素。示例代码如下:

{{ value|first }}

如果value是等于['a','b','c'],那么输出将会是a。

last

返回列表/元组/字符串中的最后一个元素。示例代码如下:

{{ value|last }}

如果value是等于['a','b','c'],那么输出将会是c。 

floatfORMat

使用四舍五入的方式格式化一个浮点类型。如果这个过滤器没有传递任何参数。那么只会在小数点后保留一个小数,如果小数后面全是0,那么只会保留整数。当然也可以传递一个参数,标识具体要保留几个小数。

如果没有传递参数:

value模版代码输出
34.23234{{ value|floatformat }}34.2
34.000{{ value|floatformat }}34
34.260{{ value|floatformat }}34.3

如果传递参数:

value模版代码输出
34.23234{{ value|floatformat:3 }}34.232
34.000{{ value|floatformat:3 }}34.000
34.26000{{ value|floatformat:3 }}34.260

join

类似与Python中的join,将列表/元组/字符串用指定的字符进行拼接。示例代码如下:

{{ value|join:"/" }}

如果value是等于['a','b','c'],那么以上代码将输出a/b/c。 

length

获取一个列表/元组/字符串/字典的长度。示例代码如下:

{{ value|length }}

如果value是等于['a','b','c'],那么以上代码将输出3。如果value为None,那么以上将返回0。

lower

将值中所有的字符全部转换成小写。示例代码如下:

{{ value|lower }}

如果value是等于Hello World。那么以上代码将输出hello world。

upper

类似于lower,只不过是将指定的字符串全部转换成大写。

random

在被给的列表/字符串/元组中随机的选择一个值。示例代码如下:

{{ value|random }}

如果value是等于['a','b','c'],那么以上代码会在列表中随机选择一个。

safe

标记一个字符串是安全的。也即会关掉这个字符串的自动转义。示例代码如下:

{{value|safe}}

如果value是一个不包含任何特殊字符的字符串,比如<a>这种,那么以上代码就会把字符串正常的输入。如果value是一串html代码,那么以上代码将会把这个html代码渲染到浏览器中。 

slice

类似于Python中的切片操作。示例代码如下:

{{ some_list|slice:"2:" }}

以上代码将会给some_list从2开始做切片操作。

stringtags

删除字符串中所有的html标签。示例代码如下:

{{ value|striptags }}

如果value是<strong>hello world</strong>,那么以上代码将会输出hello world。 

truncatechars

如果给定的字符串长度超过了过滤器指定的长度。那么就会进行切割,并且会拼接三个点来作为省略号。示例代码如下:

{{ value|truncatechars:5 }}

如果value是等于北京欢迎您~,那么输出的结果是北京...。可能你会想,为什么不会北京欢迎您...呢。因为三个点也占了三个字符,所以北京+三个点的字符长度就是5。

truncatechars_html

类似于truncatechars,只不过是不会切割html标签。示例代码如下:

{{ value|truncatechars:5 }}

如果value是等于<p>北京欢迎您~</p>,那么输出将是<p>北京...</p>。

以上是“DjanGo模板中如何实现常用的过滤器”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Django模板中如何实现常用的过滤器

本文链接: https://www.lsjlt.com/news/277769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django模板中如何实现常用的过滤器
    这篇文章主要介绍Django模板中如何实现常用的过滤器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。...
    99+
    2023-06-15
  • Django 模板中常用的过滤器实现
    模版常用过滤器 在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。 ...
    99+
    2024-04-02
  • Django模板中怎么实现过滤器
    这篇文章主要介绍了Django模板中怎么实现过滤器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Pyt...
    99+
    2023-06-15
  • 详解Django模板层过滤器和继承的问题
    过滤器 模板层对变量的操作实际还有很多,过滤器就是其中一种。学过Linux系统的一定知道管道操作符,其可以将上一步输出直接作为下一步输入进行处理,这里的过滤器就是类似管道符,其写法也...
    99+
    2024-04-02
  • 如何分析Django中编写自定义模板标签tags和过滤器
    这篇文章给大家介绍如何分析Django中编写自定义模板标签tags和过滤器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准...
    99+
    2023-06-04
  • Django零基础入门之自定义过滤器及模板中的使用
    目录引言自定义过滤器(1)首先(2)内置过滤器lower的使用:(3)自定义过滤器的使用:(4)模板中使用自定义过滤器:(5)效果展示:引言 分析Django内置的模板过滤器: 通...
    99+
    2024-04-02
  • Django 模板的魔法世界:探索变量和过滤器
    Django 强大的模板系统允许开发者轻松地将 Python 变量动态嵌入到 HTML 代码中。这大大简化了前端渲染,并提供了对页面内容的极大控制。让我们踏入 Django 模板的奇妙世界,发现变量和过滤器如何赋予我们控制前端的非凡能力。...
    99+
    2024-02-15
    Django 模板 变量 过滤器 上下文 前端渲染
  • JS中art-template模板使用过滤器问题
    目录art-template模板使用过滤器举个栗子效果图art-template过滤器(单值,多值)art-template过滤器art-template模板使用过滤器 html有个...
    99+
    2024-04-02
  • Django使用jinja2模板的实现
    目录jinja2介绍安装jinja2模块Django配置jinja2jinja2自定义过滤器CSRFCSRF攻击示意图防止 CSRF 攻击在 Django项目中解决 CSRF 攻击j...
    99+
    2023-02-23
    Django jinja2模板 Django jinja2
  • Django中模板的继承及引用实现
    引言 大家啊可以随便取找个网站,比如:淘宝。多去看看它不同的页面,用你闪亮的大眼睛去找不同点和相同点。 到一定时候,你会发现,网站中有些不同的页面,它们中的部分数据是完全一模一样的...
    99+
    2024-04-02
  • 如何在ASP.NET中使用Django模板?
    ASP.NET和Django都是非常流行的Web开发框架,二者各有优点。在ASP.NET中使用Django模板可以让我们充分利用Django模板的强大功能,加快开发速度,提高代码质量。在本文中,我们将介绍如何在ASP.NET中使用Djang...
    99+
    2023-09-28
    git npm django
  • Django模板中变量的运算实现
    在django中的模板下我们知道变量使用{{xxx}}来呈现,可是当出现两个变量进行运算怎么处理那? #加法: {{value|add:value2}} #返回的结果是value...
    99+
    2024-04-02
  • Python中怎么用django filter实现多条件过滤
    在Django中,可以使用`filter()`方法实现多条件过滤。`filter()`方法接收一个或多个条件表达式作为参数,并返回符...
    99+
    2023-10-25
    Python django
  • 在Django中动态地过滤查询集的实现
    目录简介开始使用数据准备创建视图创建URL创建模板创建客户端脚本结语简介 要建立一个允许过滤和分页的列表页,你必须让一些独立的东西一起工作。Django的对象关系映射器(ORM)和内...
    99+
    2024-04-02
  • 如何使用Vue的过滤器功能来实现模糊搜索
    Vue.js是一款流行的JavaScript框架之一,它提供了许多有用的功能,包括Vue的过滤器。在本文中,我们将介绍如何使用Vue的过滤器功能来实现模糊搜索。在Vue.js中,过滤器是用于转换文本的函数,常常用于格式化文本输出。在本例中,...
    99+
    2023-05-14
  • Java的布隆过滤器如何实现
    今天小编给大家分享一下Java的布隆过滤器如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。BitMap现代计算机用二进...
    99+
    2023-06-29
  • PHP中Smarty模板如何实现模板继承
    这篇文章主要介绍PHP中Smarty模板如何实现模板继承,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!{extends}模板继承中,你可以在子模板内使用{extends}标签来扩展父...
    99+
    2024-04-02
  • Jquery如何实现过滤选择器
    这篇文章主要介绍了Jquery如何实现过滤选择器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1.根据某过滤规则进行元素的匹配...
    99+
    2024-04-02
  • C#中如何使用异常过滤器和异常处理
    C#中如何使用异常过滤器和异常处理,需要具体代码示例异常是在程序运行过程中出现的错误或意外情况。在C#中,异常是通过抛出和捕获来处理的。异常处理是保证程序正常运行的关键部分。在C#中,异常过滤器和异常处理是处理异常的两种常见方式。异常过滤器...
    99+
    2023-10-22
    异常处理 异常过滤器 C#语言
  • Redis如何实现布隆过滤器
    小编给大家分享一下Redis如何实现布隆过滤器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!布隆过滤器(Bloom Filter...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作