本文主要是介绍一周学会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内置模板引擎-过滤器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!