文章对应的B站视频:https://www.bilibili.com/video/BV1Tu41127Ca/
Django系列文章对应的目录:https://www.cnblogs.com/emanlee/p/15860241.html
过滤器
模板语法:
{{ 变量名 | 过滤器:可选参数 }}
模板过滤器可以在变量被显示前修改它,过滤器使用管道字符(|),如下所示:
{{ name|lower }}
{{ name }} 变量被过滤器 lower 处理后,大写转换为小写。
过滤管道可以被* 套接* ,既是说,一个过滤器管道的输出又可以作为下一个管道的输入:
{{ my_list|first|upper }}
有些过滤器有参数。 过滤器的参数跟随冒号之后并且总是以双引号包含。 例如:
{{ bio|truncatewords:"30" }}
这个将显示变量 bio 的前30个词。
其他过滤器:
- addslashes : 添加反斜杠到任何反斜杠、单引号或者双引号前面。
- date : 按指定的格式字符串参数格式化 date 或者 datetime 对象,实例:
{{ pub_date|date:"F j, Y" }}
- length : 返回变量的长度。
default
如果 views 传的变量的布尔值是 false,则使用指定的默认值。
以下值为 false:
@H_404_145@0 @H_404[email protected] False @H_404_145@0j "" [] () set() {} None
mysite456/mysite456/views.py 文件代码:
from django.shortcuts import render
def mydef(request):
name =0
return render(request, "mytemp.html", {"name": name})
再次访问 http://127.0.0.1:8003/mytemp/,可以看到页面:
length
返回对象的长度,适用于字符串和列表。
字典返回的是键值对的数量,集合返回的是去重后的长度。
mysite456/mysite456/views.py 文件代码:
from django.shortcuts import render
def mydef(request):
name ="简单示例demo"
return render(request, "mytemp.html", {"name": name})
再次访问 http://127.0.0.1:8003/mytemp/,可以看到页面:
filesizeformat
以更易读的方式显示文件的大小(即'13 KB', '4.1 MB', '102 bytes'等)。
字典返回的是键值对的数量,集合返回的是去重后的长度。
mysite456/mysite456/views.py 文件代码:
from django.shortcuts import render
def mydef(request):
num=1024
return render(request, "mytemp.html", {"num": num})
date
根据给定格式对一个日期变量进行格式化。
格式 Y-m-d H:i:s返回 年-月-日 小时:分钟:秒 的格式时间。
再次访问 http://127.0.0.1:8003/mytemp/,可以看到页面:
truncatechars
如果字符串包含的字符总个数多于指定的字符数量,那么会被截断掉后面的部分。
截断的字符串将以 ... 结尾。
mysite456/mysite456/views.py 文件代码:
from django.shortcuts import render
def mydef(request):
views_str = "简单示例demo"
return render(request, "mytemp.html", {"views_str": views_str})
再访问访问 http://127.0.0.1:8003/mytemp/,可以看到页面:
safe
将字符串标记为安全,不需要转义。
要保证 views.py 传过来的数据绝对安全,才能用 safe。
和后端 views.py 的 mark_safe 效果相同。
Django 会自动对 views.py 传到HTML文件中的标签语法进行转义,令其语义失效。加 safe 过滤器是告诉 Django 该数据是安全的,不必对其进行转义,可以让该数据语义生效。
mysite456/mysite456/views.py 文件代码:
from django.shortcuts import render
def mydef(request):
views_str = "<a href='https://www.cnblogs.com/emanlee/'>点击跳转</a>"
return render(request, "mytemp.html", {"views_str": views_str})
再访问访问 http://127.0.0.1:8003/mytemp/,可以看到页面:
REF
https://www.runoob.com/django/django-template.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。