Falsk 与 Django 过滤器的使用与区别详解


Posted in Python onJune 04, 2019

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}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python利用beautifulSoup实现爬虫
Sep 29 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
python类的实例化问题解决
Aug 31 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
python传到前端的数据,双引号被转义的问题
Apr 03 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
详解Django中异步任务之django-celery
Nov 05 Python
python os.rename实例用法详解
Dec 06 Python
python爬取代理ip的示例
Dec 18 Python
Python函数式编程中itertools模块详解
Sep 15 Python
python儿童学游戏编程知识点总结
Jun 03 #Python
Python控制Firefox方法总结
Jun 03 #Python
python+webdriver自动化环境搭建步骤详解
Jun 03 #Python
selenium+python自动化测试环境搭建步骤
Jun 03 #Python
python+selenium实现自动化百度搜索关键词
Jun 03 #Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 #Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 #Python
You might like
解析php中array_merge与array+array的区别
2013/06/21 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JS中Location使用详解
2015/05/12 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
在Python中使用第三方模块的教程
2015/04/27 Python
python对数组进行反转的方法
2015/05/20 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python属性和内建属性实例解析
2020/01/14 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
Python内置异常类型全面汇总
2020/05/28 Python
什么是Python中的匿名函数
2020/06/02 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
什么是会话Bean
2015/05/14 面试题
大专生自我鉴定范文
2013/10/01 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
解除施工合同协议书
2014/10/17 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
Python MNIST手写体识别详解与试练
2021/11/07 Python
一起来学习Python的元组和列表
2022/03/13 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL