本文主要是介绍一周学会Django5 Python Web开发-Django5内置模板引擎-过滤器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
锋哥原创的Python Web开发 Django5视频教程:
2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计35条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。
https://www.bilibili.com/video/BV14Z421z78C/Django过滤器是一种用于在Django模板中处理数据的技术。过滤器的作用是可以对模板中的变量进行加工、过滤或格式化,返回一个新的值供模板使用。
过滤器作用是在变量输出时,对输出的变量值做进一步的处理。 我们可以使用过滤器来更改变量的输出显示。 过滤器跟模板标签一样,也是在模板中对函数进行调用 对输出的日期进行格式化处理,或者转换大小写字母等,这些都有对应的过滤器去处理它们。
过滤器的语法格式如下: {{ 变量 | 过滤器1:参数值1 | 过滤器2:参数值2 ... }}
常用内置过滤器如下:
| 过滤器 | 说明 |
|---|---|
| add | 加法 |
| addslashes | 添加斜杠 |
| capfirst | 首字母大写 |
| center | 文本居中 |
| cut | 切除字符 |
| date | 日期格式化 |
| default | 设置默认值 |
| default_if_none | 为None设置默认值 |
| dictsort | 字典排序 |
| dictsortreversed | 字典反向排序 |
| divisibleby | 整除判断 |
| escape | 转义 |
| escapejs | 转义js代码 |
| filesizeformat | 文件尺寸人性化显示 |
| first | 第一个元素 |
| floatformat | 浮点数格式化 |
| force_escape | 强制立刻转义 |
| get_digit | 获取数字 |
| iriencode | 转换IRI |
| join | 字符列表链接 |
| last | 最后一个 |
| length | 长度 |
| length_is | 长度等于 |
| linebreaks | 行转换 |
| linebreaksbr | 行转换 |
| linenumbers | 行号 |
| ljust | 左对齐 |
| lower | 小写 |
| make_list | 分割成字符列表 |
| phone2numeric | 电话号码 |
| pluralize | 复数形式 |
| pprint | 调试 |
| random | 随机获取 |
| rjust | 右对齐 |
| safe | 安全确认 |
| safeseq | 列表安全确认 |
| slice | 切片 |
| slugify | 转换成ASCII |
| stringformat | 字符串格式化 |
| striptags | 去除HTML中的标签 |
| time | 时间格式化 |
| timesince | 从何时开始 |
| timeuntil | 到何时多久 |
| title | 所有单词首字母大写 |
| truncatechars | 截断字符 |
| truncatechars_html | 截断字符 |
| truncatewords | 截断单词 |
| truncatewords_html | 截断单词 |
| unordered_list | 无序列表 |
| upper | 大写 |
| urlencode | 转义url |
| urlize | url转成可点击的链接 |
| urlizetrunc | urlize的截断方式 |
| wordcount | 单词计数 |
| wordwrap | 单词包裹 |
| yesno | 将True,False和None,映射成字符串‘yes’,‘no’,‘maybe’ |
根据给定的格式格式化日期
| 格式字符 | 描述 | 示例输出 |
|---|---|---|
| a | ‘a.m.’ or ‘p.m.’ | ‘a.m.’ |
| A | ‘AM’ or ‘PM’ | ‘AM’ |
| b | 月份,文字形式,3个字幕库,小写 | 'jan' |
| B | 未实现 | |
| c | ISO 8601格式 | 2008-01-02T10:30:00.000123+02:00 |
| d | 月的日子,带前导零的2位数字。 | 01'到'31' |
| D | 周几的文字表述形式,3个字母。 | 'Fri' |
| e | 时区名称 | ",'GMT,'-500',US/Eastern'等 |
| E | 月份,分地区。 | |
| f | 时间 | 1',1:30' |
| g | 12小时格式,无前导零。 | "1'到'12' |
| G | 24小时格式,无前导零。 | 0'到'23' |
| h | 12小时格式。 | '01'到'12' |
| H | 24小时格式。 | '00'到23' |
| i | 分钟 | 00'到59' |
| I | 夏令时间,无论是否生效。 | '1'或0 |
| j | 没有前导零的月份的日子。 | '1'到"31' |
| l | 星期几,完整英文名 | 'Friday' |
| L | 布尔值是否是—个闰年。 | True或False |
| m | 月,2位数字带前导零。 | '01'到'12' |
| M | 月,文字,3个字母。 | "Jan” |
| n | 月无前导零。 | '1'到'12' |
| N | 美联社风格的月份缩写。 | 'Jan.' ,'Feb.','March','May' |
| o | ISO-8601周编号 | '1999' |
| O | 与格林威治时间的差,单位小时。 | '+0200' |
| P | 时间为12小时 | 1:30 p.m.’ , ‘midnight’ , ‘noon’ , ‘12:30 p.m.’ |
| r | RFC 5322格式化日期。 | 'Thu,21 Dec 2000 16:01:07+0200' |
| s | 秒,带前导零的2位数字。 | '00'到59' |
| S | 一个月的英文序数后缀,2个字符。 | 'st' ,'nd', 'rd'或'th' |
| t | 给定月份的天数。 | 28 to 31 |
| u | 微秒。 | 000000 to 999999 |
| U | 自Unix Epoch以来的秒数(1970年1月1日00:00:00 UTC). | |
| w | 星期几,数字无前导零。 | 'O'(星期日)至'6’(星期六) |
| W | ISO-8601周数,周数从星期一开始。 | 1,53 |
| y | 年份,2位数字。 | 99 |
| Y | 年,4位数。 | '1999' |
| z | —年中的日子 | 0到365 |
| Z | 时区偏移量,单位为秒。 | -43200到43200 |
views.py index函数我们修改下:str改成"hello",再定义一个日期对象
def index(request):str = "hello"date = datetime.datetime.now()myDict = {"tom": '666', 'cat': '999', 'wzw': '333'}# 创建一个对象 zhangsanzhangsan = Person("张三", 21)myList = ["java", "python", "c"]myTuple = ("python", 222, 3.14, False)content_value = {"msg": str, "msg2": myDict, "msg3": zhangsan, "msg4": myList, "msg5": myTuple, "date": date}return render(request, 'index.html', context=content_value)
index.html加下:
<p>内置过滤器</p>
capfirst:{{ msg | capfirst }}<br>
length:{{ msg | length }}<br>
date:{{ date }} - >> {{ date | date:'Y-m-d H:i:s' }}
运行测试:

这篇关于一周学会Django5 Python Web开发-Django5内置模板引擎-过滤器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!