内置过滤器

目的是对绝大多数的内置过滤器进行测试总结学习,现设置如下:

urls.py中设置:

urlpatterns=[

url(r'^method',views.method,name='method'),

url(r'^$',TemplateView.as_view(template_name='banners/test.html',extra_context={'variable':'hello',other:'something'}),name='index'),

]

test.html中设置:

{{ variable|filter:args }}

Strings,Numbers,Lists

  • add

'variable':'hello'

{{ variable|add:' world' }}

'variable':'3'

{{ variable|add:' 4' }}

':variable':[1,2,3], 'other':[4,5]


**需要注意的是**不能在template中add:list

  • default

    如果变量是false,不存在,或者空字符串,则用该过滤器来提供了一个缺省值.

    ':variable':''

':variable':False

{{ variable|default:'i am default' }}

':variable':False

{{ variablesss|default:'i am default' }}

  • default_if_none

    仅对变量是None的进行缺省设置,对于空字符,False,不存在的不进行处理.

    ':variable':None

'variable':False

{{ variable|default_if_none:'i am default' }}

'variable':False

{{ variablssse|default_if_none:'i am default' }}

  • length

'variable':[1,2,3]

'variable':'abcd'

{{ variable|length }}

'variable':123

{{ variable|length }}

  • length_is

    'variable':'abcd'

    {{ variable|length_is:4 }}

    或者{{ variable|length_is:'4' }}

  • make_list

'variable':'1234'

{{ variable|make_list }}



'variable':1234

{{ variable|make_list }}

  • yesno

    yesno过滤器将True,False,None,映射为yes,no,maybe

    'variable':True

    {{ variable|yesno}}

Numbers

  • divisibleby

    变量可被过滤器后参数整除,返回True,否则返回False,过滤器参数可为例如5,'5'.

    'variable':20

    {{ variable|divisibleby:'4' }}

'variable':'20'

{{ variable|divisibleby:'4' }}

  • filesizeformat

'variable':'250'

{{ variable|filesizeformat }}



'variable':200000

{{ variable|filesizeformat }}

  • floatformat

    对浮点数小数点后的数字进行round,过滤器后参数可正可负,基本功能都一样,但对于比如9.000这样的数字而言,floatformat:3是9.000.而floatformat:-3是,默认是-1.

    ':variable':'3.1415'

    {{ variable|filesizeformat }}

  • get_digit

    获取数字某一位的值,1是最后一个,如果过滤器参数小于1,或者不是整数,那么输出全部数字,如果超过了位数,输出0.

    'variable':12345

    {{ variable|get_digit:3 }}

Strings

  • capfirst

':variable':'hello world'

{{ variable|capfirst }}

  • cut:

将string变量中出现的cut后的参数全部去除,返回剩下的部分

'variable':'asbscs’

{{ variable|cut:'s' }}

'variable':'a b c'

{{ variable|cut:' ' }}

  • linenumbers

'variable':"""a

b

c

d"""

{{ variable|cut:' ' }}

  • lower

将字符串变量的大写字母全部变成小写字母

"variable":"Hello World"

  • stringformat

对于python,有 '%3d' % 7--->'007'

同样的,去掉'%',

"variable":7

  • title

"variable":'hellor'

{{ variable|title }}

  • slugify

"variable":'hellor yes no'

{{ variable|slugify }}

  • truncatechars

"variable":'hellosjfdkls'

{{ variable|trancatechars:4 }}

  • truncatechar_html

"variable":'hellosjfdkls'

{{ variable|trancatechars_html:4 }}

  • truncatewords

"variable":'coffeehouse started as a small store'

{{ variable|trancatewords:3 }}

  • truncatewords_html

"variable":'coffeehouse started as a small store'

{{ variable|trancatewords:3 }}

  • upper

"variable":'coffeehouse started as a small store'

{{ variable|upper }}

  • wordcount

"variable":'coffeehouse started as a small store'

{{ variable|wordcount }}

Lists and Dictionaries

  • dictsort

'variable':[{'name':'Downtown','city':'san diego'},{'name':'Uptown','city':'san Diego'},{'name':'Midtown','city':'san Diego'},{'name':'Atown','city':'san Diego'}]

{% with newdict=variable|dictsort:'name' %}

{{ newdict }}

{% endwith %}

上例,对variable中的各dict中的'name'进行排序(按照字母),赋值给newdict后,显示newdict,当然也可以直接{{ variable|dictsort:'name'}}

dictsort过滤器也可以通过指明一个index编号来对包含多个元组的列表进行操作,比如{% with otherlist=listoftuples|dictsort:0 %}就是通过每个元组的第一个元素进行了重排。

  • dictsortreversed

'variable':[{'name':'Downtown','city':'san diego'},{'name':'Uptown','city':'san Diego'},{'name':'Midtown','city':'san Diego'},{'name':'Atown','city':'san Diego'}]

{% with newdict=variable|dictsortreversed:'name' %}

{{ newdict }}

  • join

就像python 列表的join方法一样。

'variable':['a','e','i']

{{ variable|join:'--'}}

  • first,last,random

返回变量列表的第一个,最后一个,随机的item

  • slice

就像列表的slice操作

'variable':['a','e','i','o','u']

{{ variable|slice:':3' }}

  • unordered_list

'variable':['Stores',['san diego',['Downtown','Uptown','Midtown']]]

{{ variable|unordered_list }}

Spacing and special characters

  • addslashed

对所有的引号进行添加斜\

'variable':"today's news"

{{ variable|addslashes }}

  • ceneter

'variable':"1234567890111213"

{{ variable|center:'15' }}

  • ljust,rjust

  • linebreaks

'variable':"Main\nSan,CA"

{{ variable|linebreaks }}

  • linebreaksbr

'variable':"Main\nSan,CA"

{{ variable|linebreaksbr }}

linebreakbr与linebreak的区别是:前者只把\n转换为
,后者还附带了

,

  • safe

若变量为yes,输出的仍然是本身,如果加safe过滤器,则表明信任该变量,允许渲染。

'variable':"yes"

{{ variable|safe }}

  • safeseq

'variable':['Yes','OK']

{{ variable|safeseq|join:',' }}

Url

  • urlencode

'variable':'http://localhost/drinks?type=cold&size=large'

{{ variable|urlencode }}

  • urlize

使得链接可被点击

'variable':'https://www.midasuser.cn/index.html'

{{ variable|urlize }}

  • urlizetrunc

'variable':'https://www.midasuser.cn/index.html'

{{ variable|urlizetrunc:10 }}

Django内置filter总结的更多相关文章

  1. Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  2. Django内置权限扩展案例

    当Django的内置权限无法满足需求的时候就自己扩展吧~ 背景介绍 overmind项目使用了Django内置的权限系统,Django内置权限系统基于model层做控制,新的model创建后会默认新建 ...

  3. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  4. 框架----Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  5. 第三章:模版层 - 2:Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  6. Django内置分页

    一.django内置分页 from django.shortcuts import render from django.core.paginator import Paginator, EmptyP ...

  7. Django 内置分页器

    先导入Django内置的分页器 在商品列表页或者购物车列表页导入 在渲染list.html导入 然后在views后台渲染方法写入 打开list页面结果

  8. Django内置模版过滤器

    Django内置过滤器总览 可以查询下表来总览Django的内置过滤器: 过滤器 说明 add 加法 addslashes 添加斜杠 capfirst 首字母大写 center 文本居中 cut 切除 ...

  9. Django内置过滤器详解附代码附效果图--附全部内置过滤器帮助文档

    前言 基本环境 Django版本:1.11.8 Python版本:3.6 OS: win10 x64 本文摘要 提供了常用的Django内置过滤器的详细介绍,包括过滤器的功能.语法.代码和效果示例. ...

  10. JSON和Django内置序列化

    JSON 什么是JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * J ...

随机推荐

  1. Typecho添加一个当前页面加载完成速度时间

    判断当前页面加载是否快速,通常是直接在浏览器中访问网站,看自己的直观感受是否快速.而客观的方法则是计算具体的页面加载时间并显示出来给看. 1.在当前主题的functions.php文件添加下面的代码: ...

  2. 百万架构师第四十四课:Nginx:Nginx 的扩展-OpenRestry|JavaGuide

    百万架构师系列文章阅读体验感更佳 原文链接:https://javaguide.net 公众号:不止极客 Nginx 的扩展-OpenRestry 课程目标 Nginx 进程模型简介 Nginx 的高 ...

  3. Hbase - hbase hbck介绍

    原文地址:https://bbs.huaweicloud.com/blogs/353332 HBaseFsck(hbck)是一种命令行工具,可检查hbase集群的region一致性和表完整性的问题,同 ...

  4. day4-进制与位运算

    进制 对于整数有4种表现方式 二进制,满二进一 十进制,满10进1 八进制,满8进1,数字0开头 十六进制,满16进1,以0x或0X开头 进制转换 二进制转十进制 规则:从最低位开始(右边),将每位数 ...

  5. FormCreate中在事件中获取api

    form-create中在事件中获取api FormCreate 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成组件.支持5个UI框架,并且支持生成任何 Vue 组件. ...

  6. C# 一般处理程序ashx用于验证码

    1.用VS2019建立一个web应用程序,选mvc模板 2.选中项目邮件新建文件夹Webservice,然后添加一般处理程序Verify.ashx然后右键打开改写如下 1 public class V ...

  7. 通过Kube-rbac-proxy保护 Kubernetes 工作负载中的应用容器

    1.概述 kube-rbac-proxy 是 Kubernetes 生态中一个专注于"基于角色的访问控制(RBAC)"的轻量级代理组件,通常以 Sidecar 容器的形式部署在 P ...

  8. Apache Tomcat RCE漏洞复现(CVE-2025-24813)

    漏洞描述 该漏洞的核心在于不完整PUT请求上传时 Tomcat 会使用了一个基于用户提供的文件名和路径生成的临时文件,且路径分隔符被替换为 . . 若同时满足以下条件,攻击者可执行任意代码: 默认 S ...

  9. mac强制关闭程序

    使用快捷键:Command+Option+Esc 来打开"强制退出应用程序"的窗口,然后选中你需要退出的程序,再点右下方的"强制退出"即可.

  10. BFS 2025/1/16

    BFS Basic 主要特点:空间复杂度较高,基于队列 经常用于求最优解的搜索题 经典模型:连通块,最短迷宫路径,曼哈顿距离 Question 01 [ACP2056 山峰与山谷] 主体是广搜模板 难 ...