flask框架的学习之模板

2019-04-23  本文已影响0人  山野过客

模板可以将已经写好的html、css、js展示在页面,你只需要往里面填充要展示的内容即可

导入:from flask import render_template

def index(): # 视图函数 return render_template('index.html') # 加载并渲染模板

现在模板的内容是写死的,这肯定满足不了咱们,我们希望把后台返回的内容渲染在到模板上。Flass使用 Jinja2这个模板引擎来渲染模板。

我们先把pycharm里的模板语言改成Jinja2

我们在后台模拟一些数据,返回给模板渲染,render_template函数第二个参数就是我们要返回的内容

def index():  # 视图函数

    ctx = {

        "name": '老王',

        "age": 12,

        "hobby": ["下棋", '电影'],

        "test": {"a": 1, "b": 2}

    }

    return render_template('index.html', **ctx)  # 加载并渲染模板

    # 下面这种也可以

    # return render_template('index.html', name='laowang', age=12, hobby=["下棋", '电影'], test={"a": 1, "b": 2})  # 加载并渲染模板

常用过滤器

过滤器支撑链式调用:

{{"hello world"|reverse|upper}}

语句块操作:

{%filterupper%}'abc'{%endfilter%}

禁用转义:{{ '<em>hello</em>' | safe }}

删除标签:{{ '<em>hello</em>' | striptags }}

首字母大写:{{ 'hello' | capitalize }}

所有值小写:{{ 'HELLO' | lower }}

首字母大写:{{ 'hello world' | title }}

字符串反转:{{ 'hello' | reverse }}

字符串截断:{{ 'hello world' | truncate(5) }}

获取列表长度:{{ [1,2,3,4,5,6] | length }}

列表求和:{{ [1,2,3,4,5,6] | sum }}

列表排序:{{ [6,2,3,1,5,4] | sort }}

自定义过滤器

# 自定义过滤器def handletime(time): return time.strftime('%Y-%m-%d %H:%M')app.jinja_env.filters['handletime'] = handletime # 注册过滤器

自定义过滤器

{{ time|handletime }}

上一篇 下一篇

猜你喜欢

热点阅读