Falsk 与 Django 过滤器的使用与差异
发布时间:2021-11-12 11:00:39 所属栏目:PHP教程 来源:互联网
导读:1,flask中内置的过滤器模板中常用方法: {#过滤器调用方式{{变量|过滤器名称}} #} !-- safe过滤器,可以禁用转义 -- {{stronghello/strong|safe}} br/ 大写转小写 {{HELLO|lower}} 小写转大写 {{hello|upper}} br/ 字符串反转 {{abc|reverse}} 首字母大写 {
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}} ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |