zoukankan      html  css  js  c++  java
  • 模板的过滤器使用

    1、基本使用

    from flask import Flask,render_template
    
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return render_template('index_filter.html',position=-9)
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>过滤器的基本使用</title>
    </head>
    <body>
        <!--绝对值的过滤器使用-->
        <p>位置的绝对值:{{ position |abs }}</p>
    </body>
    </html>

    2、default过滤器的详解

    from flask import Flask,render_template
    
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return render_template('index_filter.html',position=-9)
    
    
    #default默认过滤器的使用
    @app.route('/user/')
    def user():
        context = {
            'signature':"我就是我,不一样的烟火",
            #如果introduce为None,使用过滤器default还是None,
            #python 中 变量显示为false的情况,0,空,None
            'introduce' : None
        }
        return render_template('index_default.html',**context)
    
    if __name__ == '__main__':
        app.run(debug=True)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>default使用</title>
    </head>
    <body>
        <h1>个性签名:signature</h1>
        <p style="color: rosybrown">{{ signature }}</p>
        <!--default过滤器的使用-->
        <p style="color: gray">{{ introduce|default('该用户很懒,没有留下任何说明') }}</p>
        <!--default过滤器,如果introduce为None也会显示,如果不想它显示,后面加个参数
        boolean-->
        <p style="color: red">{{ introduce|default('该用户很懒,没有留下任何说明',boolean=true) }}</p>
        <!--default过滤器,or的使用-->
        <p>{{ introduce or '使用默认值' }}</p>
    </body>
    </html>

    3、常用的模板标签

     

    from flask import Flask,render_template
    
    
    app = Flask(__name__)
    
    app.debug = True
    
    
    @app.route('/')
    def index():
        context = {
            #这样传过去,没有渲染成js代码
            'html':'<script>alert("你好!")</script>',
            'lists':["zhili","xiao","da"],
            'age': "18",
            "article":"hello python",
            'aaaaaaaa': "hello python",
        }
        return render_template('common_filter.html',**context)
    
    
    if __name__ == '__main__':
        app.run()
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>常见的过滤器</title>
    </head>
    <body>
        <!--普通渲染的html成字符串,不是超文本标记语言-->
        <!--<script>alert("你好!")</script>,jinja2模板会自动把<,>转义成gt,lt的形式-->
        <p>{{ html }}</p>
        <!--第一种关闭转义的方式-->
    {#    escape就是逃离的意思#}
        {% autoescape off %}
            {{ html|escape }} <!--加个escape过滤器关闭转义-->
        {% endautoescape %}
        <!--第一中方式结束-->
        <!--第二种自动关闭转义的方式-->
        {{ html|safe }}
        <!--end-->
        <!--返回序列的第一值-->
        <h1>{{ lists|first }}</h1>
        <h2>{{ lists[0] }}</h2><!--可以像python中用列表索引取值-->
        <!--返回序列的最后一个元素-->
        <h3>{{ lists|last }}</h3>
        <h4>{{ lists[3] }}</h4>
        <!--模板格式化过滤器format的用法-->
        <p>{{ "我的姓名:%s"|format("小吴") }}</p>
        <!--模板返回元祖、列表、字典、集合、的长度length的用法-->
        <p>{{ lists|length }}</p>
        <!--模板过滤器join的用法-->
        <p>{{ '+'.join(lists) }}</p> <!--模板的join用法跟python一样-->
        <!--模板的if else语句-->
        {% if age|int == 18 %}<!---age|string  == "18" -->
            <p>年龄是18</p>
        {% else %}
            <p>不是18</p>
        {% endif %}
        <!--模板replace的用法跟python yiyang -->
        <p>{{ article|replace("hello","aaaa") }}</p>
        <!--模板truncate,指定显示多少字符-->
        <p>{{ article|truncate(length=5) }}</p>
        <!--模板truncate,leeway默认长度等于5,如果length+leeway大于等于要截取的字符串长度
        返回原字符串-->
      #看下truncate源码
      

    <p>{{ article|truncate(length=7,leeway=0) }}</p> <!--striptags:删除字符串中所有的HTML标签,如果出现多个空格,将替换成一个空格--> <p>{{ html|striptags }}</p> </body> </html>
  • 相关阅读:
    TreeMap
    索引
    B-树、B+树
    硬盘速度、存储方式
    2-3树
    多叉树、2-3-4树
    红黑树
    平衡树、AVL树
    树、多路树、二叉树
    Java实现后缀表达式建立表达式树
  • 原文地址:https://www.cnblogs.com/wuheng-123/p/9672327.html
Copyright © 2011-2022 走看看