Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > Python网站web

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

来源:中文源码网    浏览:185 次    日期:2024-05-05 16:23:07
【下载文档:  Falsk 与 Django 过滤器的使用与区别详解.txt 】


Falsk 与 Django 过滤器的使用与区别详解
1,flask中内置的过滤器模板中常用方法:
{#过滤器调用方式{{变量|过滤器名称}} #}

{{'hello'|safe}}


大写转小写
{{'HELLO'|lower}}
小写转大写
{{'hello'|upper}}


字符串反转
{{'abc'|reverse}}
首字母大写
{{'james'|capitalize}}
过滤HTML标签
{{'apple'| striptags}}


只显示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) }}


对语句块进行过滤
{% filter upper%}
qwedr,tyuio,piuytre,rtyuiuyt
afaife oifafa, afaf
{%endfilter%}

链式调用过滤器
{{'abc'|reverse|upper}}



自定义过滤器
{{100|my_filter}}
自定义过滤器(后端视图函数)
@app.template_filter("my_filter")
#自定义过滤器
def my_filter(val):
return '$' + str(val)
2,django中内置的过滤器模板中常用方法:
{#通过内置过滤器实现加减法#}
{{test_int | add:10}}
{{list.0}}


{%for i in list%}
{{i}}
{#打印索引 从1开始的计数器#}
{{forloop.counter}}
{#打印数组索性#}
{{forloop.counter0}}
{#倒序索引#}
{{forloop.revcounter}}


{%endfor%}


{% for i in dict%}
{#取首位和末尾 first last#}
姓名:{{i.name |first}} 年龄:{{i.age}}
{%endfor%}


{#大写小写#}
{{'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}}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

相关内容