flask学习笔记(五)--模板

之前,我一直使用视图函数返回字符串的方式实现响应客户端。然而实际开发中,这种方式开发的代码对开发者而言十分混乱。不利于项目的维护,更加不便于实现复杂的业务逻辑。于是必须使用模板,( 将必要的数据和HTML字符连接在一起,存放在一个文件中 ),这样就实现了前后端分离。Flask默认模板引擎Jinja2管理模板。


一、模板文件的存放

    flask在渲染模版的时候,默认会从项目根目录下的`templates`目录下查找模版。也就是说,我们默认将模板文件存放在templates这个目录下面。如果不想把模版文件放在`templates`目录下,那么可以在`Flask`初始化的时候指定`template_folder`来指定模版的路径,比如,

app = Flask(__name__,template_folder='C:/templates')

这时,如果在默认路径找不到对应的模板时,就会检索 'c:/templates'这个目录。


二、使用模板

1.基本使用方法

在使用`render_template`渲染模版的时候,可以传递关键字参数。以后直接在模版中使用就可以了。(使用前导入对应的依赖)

flask_study.py 文件

render_template('index.html')

index.html 模板文件

你好

浏览器展示



2.带参数传递

 1.在使用`render_template`渲染模版的时候,可以传递关键字参数。以后直接在模版中使用就可以了

执行脚本 render_template('index.html',name='王二麻')
模板文件 {{name}}

PS:在html文件中,{{ 变量 }}   {% 语句/函数 %}

2. 如果你的参数过多,那么可以将所有的参数放到一个字典中,然后在传这个字典参数的时候,使用两个星号,将字典打散成关键参数。

执行脚本文件:

**context 将字典打散,等价于 name="王二麻子",heigh=190 


html文件


浏览器




三、认识过滤器

    有时候我们想要在模版中对一些变量进行处理,那么就必须需要类似于Python中的函数一样,可以将这个值传到函数中,然后做一些操作。在模版中,过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。


1.基本使用方法

    基本语法:`{{ variable|过滤器名字 }}`。使用管道符号`|`进行组合。

将之前字典内容修改

'heigh' : -190

再将模板中的heigh变量加上过滤器处理

<p> {{ heigh|abs }} <p/>

这样就完成了取绝对值的功能,显示是190而不是-190!





猜你喜欢

转载自blog.csdn.net/feit2417/article/details/80735258