Falsk 与 Django 过滤器的使用与区别详解
作者:Xcsg 发布时间:2023-08-21 08:06:02
标签:Falsk,Django,过滤器
1,flask中内置的过滤器模板中常用方法:
{#过滤器调用方式{{变量|过滤器名称}} #}
<!-- safe过滤器,可以禁用转义 -->
{{'<strong>hello</strong>'|safe}}
<br/>
大写转小写
{{'HELLO'|lower}}
小写转大写
{{'hello'|upper}}
<br/>
字符串反转
{{'abc'|reverse}}
首字母大写
{{'james'|capitalize}}
过滤HTML标签
{{'<em>apple</em>'| striptags}}
<br/>
只显示list首个元素
{{[100,95,55,81]|first}}
只显示list最后一个元素
{{[100,95,55,81]|last}}
显示list的长度
{{[100,95,55,81]|length}}
list里所有元素求和
{{[100,95,55,81]|sum}}
list进行排序
{{[100,95,55,81]|sort}}
format:格式化输出
{{ '%s is %d' | format('name',17) }}
<br/>
对语句块进行过滤
{% filter upper%}
qwedr,tyuio,piuytre,rtyuiuyt
afaife oifafa, afaf
{%endfilter%} <br/>
链式调用过滤器
{{'abc'|reverse|upper}}
<br><br>
自定义过滤器
{{100|my_filter}}
自定义过滤器(后端视图函数)
@app.template_filter("my_filter")
#自定义过滤器
def my_filter(val):
return '$' + str(val)
2,django中内置的过滤器模板中常用方法:
{#通过内置过滤器实现加减法#}
{{test_int | add:10}}
{{list.0}}
<br>
{%for i in list%}
{{i}}
{#打印索引 从1开始的计数器#}
{{forloop.counter}}
{#打印数组索性#}
{{forloop.counter0}}
{#倒序索引#}
{{forloop.revcounter}}
<br>
{%endfor%}
<br>
{% for i in dict%}
{#取首位和末尾 first last#}
姓名:{{i.name |first}} 年龄:{{i.age}}
{%endfor%}
<br>
{#大写小写#}
{{'jack' | upper | lower}}
{#返回长度#}
{{'123456'| length}}
{#截断操作#}
{{content | truncatechars:10}}
截断单词{{content | truncatewords:2}}
{# 格式化日期#}
{{dt | date:'Y-m-d H:i:s'}}
自定义过滤器(后端视图函数)
首先在工程文件的同名配置文件下创建templatetags文件夹,建立myfiler.py用来自定义过滤器
例:
from django import template
#注册过滤器对象
register = template.Library()
#自定义过滤器
#通过装饰器的方式来注册自定义过滤器
@register.filter
def my_str(val):
return "$" +str(val)
#定义一个双参数过滤器
@register.filter
def my_str_two(val,p1):
return val + p1
#定义一个多参数的过滤器
#注册过滤器的时候,需要注册SIMPLE_TAG
@register.simple_tag
def my_str_many(val,p1,p2):
return val + p1 + p2
#定义一个取余数的过滤器
@register.filter
def get_line(val):
return int(val) % 2
在templates文件夹中模板文件中导入
{#导入过滤器文件#}
{% load myfilter %}
{#导入过滤器文件#}
{% load my_filter %}
{{test_str | my_str}}
{# 两个参数进行调用#}
{{'你好' | my_str_two:"不好"}}
{#调用多参数的过滤器#}
{% my_str_many '你好' '不好' '啊' %}
{{test_list | length}}
来源:https://www.cnblogs.com/xcsg/p/10310897.html
0
投稿
猜你喜欢
- 什么是Three.js? 如果你正在读这篇文章,你可能对Three.js有一定的了解,那我们来简单地介绍下Three.js是什么.Three
- 配置Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。邮件中的每一项都在配置文件中有单独的配置项,甚至是
- 打开在节点中加入一句:max_allowed_packet=5M 将MySQL的容量扩大到5M  
- 在我们平常使用Python进行数据处理与分析时,在import完一大堆库之后,就是对数据进行预览,查看数据是否出现了缺失值、重复值等异常情况
- 导读:这篇文章主要介绍如何利用opencv来对图像添加各类噪声,原图:1、高斯噪声高斯噪声就是给图片添加一个服从高斯分布的噪声,可以通过调节
- 一、基本用法1.注释Python中,#+语句 即为一条注释,也可以用 ‘'‘注释块 '''#人生苦短,我用P
- python实现阶乘-基础版本什么是阶乘呢?在数学运算中n!表示n的阶乘,用数学公式表示为:n!=1*2*3*....*(n-1)*n下面提
- 一:关于MySQL5 MySQL5系列数据库是MySQL的最新版本的数据库,比较流行的发行版是mysql-5.0.18。MySQL 英文官方
- 类型主要针对文本属性进行定义。理解“编辑字体列表”和“行高”。二、CSS规则定义之“背景”·背景有背景颜色和背景图像的选择设置。·利于背景图
- PHP中重定向网页跳转页面的方法(共三种)第一种:利用header()函数进行重定向,这也是我用的较多的。(注意!locationhe和“:
- 如下所示:list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list
- 一定要对用户可能输入的诸如引号,尖括号等特殊字符给予足够重视,它们可能引发严重的安全问题。SQL注入的基本手法之一,就是利用对单引号未加过滤
- 本次我们选择的安卓游戏对象叫“单词英雄”,大家可以先下载这个游戏。游戏的界面是这样的:通过选择单词的意思进行攻击,选对了就正常攻击,选错了就
- 从ASP初入门到PHP,感觉到PHP的强大之一就是内置函数的丰富,比如先前学习的PHP日期时间函数,读写文件的相关函数等都无不表明了PHP的
- 我发现有的网站利用了SQL SERVER提供的通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程来完成收发和自动处理邮件(这句话太长
- 导言在前面我们学习了如何创建item级的DataList。和可编辑的GridView一样,每个DataList里的item都包含一个Edit
- 该sql如下:Select /*+ parallel(src, 8) */ distinct src.systemn
- 图片外框特征参数:①dashed:虚线 ②dotted:点虚线 ③solid:实线 ④double:双线 ⑤groove:沟槽状 ⑥ridg
- 一、软件包a) freetds-stable.gzb) php-5.2.12.tar.gz二、安装步骤a) tar zxvf freetds
- Python引入了一个机制:引用计数。引用计数python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,