flask学习笔记代码篇-10

flask10-渲染模板和控制代码块


本章内容:装饰器形式添加自定义过滤器、渲染模板、控制代码块

from flask import Flask, render_template

app = Flask(__name__)



@app.route('/')

def index():

    return 'index'



# 以装饰器的形式添加自定义过滤器

@app.template_filter('lireverse')

# 方式二 app.add_template_filter(do_lireverse, 'lireverse')第一个参数函数名,第二个参数过滤器名

def do_lireverse(value):

    tem_li = list(value)

    tem_li.reverse()

    return tem_li



# 渲染模板

@app.route('/demo1')

def demo1():

    urlstr = 'www.baidu.com'

    myint = 18

    mylist = [1, 2, 's', 'qwq', {'mame': 'laowang'}]

    mydict = {'name': 'hm', 'url': 'www.baidu.com'}

    return render_template('01-index.html', url_str=urlstr, url_int=myint, url_list=mylist, url_dict=mydict)



# 控制代码块

@app.route('/demo2')

def demo2():

    my_list = [

        {

            "id": 1,

            "value": "我爱工作"

        },

        {

            "id": 2,

            "value": "工作使人快乐"

        },

        {

            "id": 3,

            "value": "沉迷于工作无法自拔"

        },

        {

            "id": 4,

            "value": "日渐消瘦"

        },

        {

            "id": 5,

            "value": "以梦为马,越骑越傻"

        }

    ]

    return render_template('03-temp.html', my_list=my_list)



if __name__ == '__main__':

    app.run(port='3333', debug=True)

 

01-index.html







    

    index





这是模板

只是首页

{{ url_str }}

{{ url_list }}

{{ url_list.2 }}

{{ url_dict }}

{{ url_dict.url }}

{{ url_int + url_list.1 }}


{%  for num in url_list %}     {{ num }}, {% endfor%}
{{ url_str | upper}} {{ url_str | reverse}} {{ url_str | reverse | upper | title}} {{ url_str | lireverse}}

 

03-temp.html







    

    temp





{{ werty }}

        {# for 后面的条件如果成立,那么就会执行 for 循环内部的代码 #}     {% for item in my_list if item.id != 5 %}         {% if loop.index == 1 %}  {# 代码当前循环第1个元素(从1开始) #}             
  • {{ item['value'] }}
  •         {% elif loop.index == 2 %}             
  • {{ item['value'] }}
  •         {% elif loop.index == 3 %}             
  • {{ item['value'] }}
  •         {% else %}             
  • {{ item['value'] }}
  •         {% endif %}     {% endfor %}

 

你可能感兴趣的:(flask框架基础)