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

举报
王建峰 发表于 2021/11/19 03:58:51 2021/11/19
【摘要】 欢迎加入知了课堂,学习flask Python Flask系列(1)——基础:http://study.163.com/course/courseMain.htm?courseId=1004091002 Python Flask框架——全栈开发: http://study.163.com/course/courseMain....

欢迎加入知了课堂,学习flask

Python Flask系列(1)——基础:http://study.163.com/course/courseMain.htm?courseId=1004091002

Python Flask框架——全栈开发: http://study.163.com/course/courseMain.htm?courseId=1004507006




之前,我一直使用视图函数返回字符串的方式实现响应客户端。然而实际开发中,这种方式开发的代码对开发者而言十分混乱。不利于项目的维护,更加不便于实现复杂的业务逻辑。于是必须使用模板,( 将必要的数据和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!




欢迎加入知了课堂,学习flask

Python Flask系列(1)——基础:http://study.163.com/course/courseMain.htm?courseId=1004091002

Python Flask框架——全栈开发: http://study.163.com/course/courseMain.htm?courseId=1004507006





文章来源: blog.csdn.net,作者:hinzer,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/feit2417/article/details/80735258

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。