您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Django零基础入门之常用过滤器详解

51自学网 2021-10-30 22:14:23
  python
这篇教程Django零基础入门之常用过滤器详解写得很实用,希望能帮到您。

引言:

前面讲过了Django中使用模板变量。使用很简单,那么有没有什么关于模板变量的骚操作呢?
答案是肯定有的,这就是本文要讲的——过滤器!

1.过滤器

(1)纯干货讲解:

作用: 对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。

  • 语法:{{ fruits|lower }}
  • 管道符号进行链式调用(可以理解为嵌套使用!),比如实现一个功能,先把所有字符变成小写,再把第一个字符转换成大写。
  • 语法:{{fruits|lower|capfirst}}
  • 使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号,加上双引号,双引号里面再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器——语法: {{fruits|cut:" "}}
  • 注意:使用参数的时候,冒号和参数之间不能有任何空格,一定要紧挨着!

(2)Django中实战使用——常用的过滤器:

①项目目录下的views.py文件:

from django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.from datetime import datetimedef index(request):    test="THIS IS A LIST!"    list=["A","B","C","D","E"]    data={        'test':test,        'xx':'',        'num1':1,        'num2':2,        'list':list,        'now':datetime.now(),        'html':'<h1>hello django!!!</h1>',        'float':3.1415926    }    return render(request, "index.html", data)

②项目目录下templates模板文件夹下的模板文件index.html:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>测试!</title></head><body>{#没做处理的变量:#}{{ test }}<br>{#设置了默认值的变量  在这个值被django认为是False的时候会使用此默认值。比如:空字符串,None。#}{{ xx|default:'xxxxx' }}<br>{#设置了只有为None时才使用默认值的变量#}{{ xx|default_if_none:'aaaaa'}}<br>{#变为小写后的变量#}{{ test|lower }}<br>{#先变为小写再将首字母大写后的变量#}{{ test|lower|capfirst }}<br>{#两个数字变量相加   add:字符串相加,数字相加,列表相加,如果失败,将会返回一个空字符串#}{{ num1|add:num2 }}<br>{#两个字符串变量相加#}{{ test|add:xx }}<br>{#列表变量的第一个元素#}{{ list|first }}<br>{#列表变量的最后一个元素#}{{ list|last }}<br>{#默认的data日期时间格式#}{{ now|date }}<br>{#默认的time时间格式#}{{ now|time }}<br>{#这是data过滤器的年月日24小时制时间格式#}{{ now|date:'Y/m/d/H:i:s' }}<br>{#这是time过滤器的时分秒12小时制时间格式#}{{ now|time:'h:i:s' }}<br>{#这是字符串的join方法  跟python中join一样的用法#}{{ list|join:'oooo' }}<br>{#这是字符串的长度方法#}{{ test|length }}<br>{#这是列表的长度是否为4#}{{ list|length_is:4 }}<br>{#下面这俩有xxx.html类型的,针对html,截断标签中的字符,而不会截断标签#}{#这是字符串只显示4个字符,其余省略(但是占3位)#}{{ test|truncatechars:7 }}<br>{#这是字符串只显示2个单词,其余省略(不占位)#}{{ test|truncatewords:2 }}<br>{#这是字符串的切片#}{{ test|slice:'1:4' }}<br>{#这是列表的切片#}{{ list|slice:'2' }}<br>{#这是含html标签的字符串#}{{ html }}<br>{#这是去掉字符串中的html标签#}{{ html|striptags }}<br>{#这是关掉自动转义,使字符串中html标签生效#}{{ html|safe }}<br>{#这是没做处理的小数#}{{ float }}<br>{#这是保留了一位小数#}{{ float|floatformat }}<br>{#这是保留了两位小数#}{{ float|floatformat:'2' }}</body></html>

③效果展示:

在这里插入图片描述

date和time过滤器格式:

在这里插入图片描述

拓展——简介自动转义:

什么是自动转义?
自动转义是将变量的一些特殊字符,比如左箭头(<)、右箭头(>)转义成html代码,这样做的目的是为了处理一些不安全的变量。

<:转义成&lt;>:转义成&gt;‘:转义成&#39;“:转义成&quot;&:转义成&amp;

到此这篇关于Django零基础入门之常用过滤器详解的文章就介绍到这了,更多相关Django过滤器内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


浅谈Python的字典键名可以是哪些类型
Django零基础入门之静态文件的引用
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。