这篇博客主要记录了关于Django模板中过滤器,注释,以及如何自定义过滤器,和自定义标签的方法。不足之处,还请指教。
工具: pycharm 2020
django 从入门到 放弃 > 第六篇
沙漏在下雨
模板过滤器:
关于模板过滤器, 字面理解就是过滤掉我们不要的东西,过滤器 filter
这个东西,我想在很多软件上应该都会有用到吧, 在django中, 过滤器的作用就是在变量
输出的时候,对变量进行进一步的处理, 比如,限制长度啊,规范输出的格式之类,django内置了很多的过滤器的, 不行的话,我们也可以自定义过滤器。
过滤器的语法如下:
{
{ 变量| 过滤器1: 参数1 | 过滤器2: 参数2 ......}}
过滤器使用 |
进行和变量的分隔, 且过滤器只能接收一个参数。
常见的模板过滤器
过滤器 | 使用说明 |
---|---|
length | 获取变量的长度,适用于字符串和列表。 |
lower/upper | 转换字符串为小写/大写形式。 |
first/last | 获取变量的首个/末尾元素。 |
add:‘n’ | 给变量值增加 n。 |
safe | 默认不对变量内的字符串进行html转义。 |
cut | 从给定的字符串中删除指定的值。 |
dictsort: “keys” | 获取字典列表,并返回按参数中给定键排序的列表。 |
join | 用字符串连接列表,例如 Python 的 str.join(list)。 |
truncatewords | 如果字符串字符多于指定的字符数量,那么会被截断。 截断的字符串将以可翻译的省略号序列(“…”)结尾。 |
实际操作如下:
在views.py 编写代码:
# views.py
def test_filter(request):
t = Template("""
<p>mylist 的长度为: {
{ mylist|length }}</p>
<p>mystr 转为大写为: {
{ mystr|upper }}</p>
<p>join用法: {
{ mylist|join:"--" }}</p>
<p>add用法: {
{ mystr|add:' django' }}<p>
""")
c = Context({
"mylist": [1,