相思资源网 Design By www.200059.com

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

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

标签:
Falsk,过滤器,Django,过滤器

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“Falsk 与 Django 过滤器的使用与区别详解”

暂无Falsk 与 Django 过滤器的使用与区别详解的评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。