测试之路 python-flask框架:模板渲染
2023-06-13 09:15:51 时间
哈喽,大家好,我是小王,上期我们说道路由与蓝图的概念,本期我们就来说说模板渲染
01 模板渲染
Jinja2是flask中的一个必不可少的模板渲染引擎,主要作用就是渲染一个有富文本标签的页面,使用者能够更好的通过UI页面进行数据传递,视图函数在接收到数据请求时,将该请求做相关处理,然后再返通过渲染的方式,将处理结果返回给页面。
render_template()方法,就是渲染的主要函数。在视图函数的结尾,使用return render_template(“xxx.html”)的形式,将处理结果通过渲染加工后,传给指定的html文件。
那么结合上一期路由的概念。他们是如何进行工作的呢?
- 首先,用户通过浏览器访问我们的ip地址+路由
- 然后路由定位到视图函数,视图函数在接收到请求时,首先会渲染这个请求,执行函数render_template()。
- render_template()底层进行处理,然后定位到指定的html文件后,将该文件以字符串的形式,在转发给浏览器。
- 浏览器在接收到这段字符串以后,将这段富有标签的字符串进行处理,最后以一个我们常见的网页表单形式,呈现在我们面前。等待下一步指令。
02 实现
接着上次我们创建到的项目:
- 在templates中创建一个名为index.html的html文件。然后写一个h1标签。和一个from表单。并做一个提交按钮
- 可以看到,在form表单中的method是请求方式,我把它定义成定义成post请求。form表单一般会做一些数据提交操作。在正常项目开发中,post相对安全。(虽然我们就是写一个简单测试工具,不涉及那么多,但是要严格要求自己按照正常标准走。我们开发的就是一个web项目)
- 写完html文件后,我们就回到视图函数中,首先使用render_template()渲染模板。然后在使用request.form.get方式接收html文件中的from表单发送的参数
- request.form.get是专门用来接收post请求的参数
- request.args.get是专门用来接收get请求的参数
完成以上步骤,就可以在日常工作中,进行一些脚本的编写。这里需要反复练习,就能明白这里面的数据传递。
- html页面,可以当做一个数据收集的工具。
- 收集完成后,点击提交。
- 提交到视图函数中,视图函数接收到数据后进行相关处理。
- 然后再将处理结果返回给浏览器。
补充一下:在apps的__init__文件中,需要将模板路径传给flask对象。否则会找不到模板路劲。
03 总结
以上就是为大家分享的内容。主要还是以本人日常工作所编写的脚本的整体流程为参考。对比真正的web项目来说,这些东西就是冰山一角。但作为一个测试来说,用这些编写一些处理数据库、redis等日常造数据,清数据的测试脚本。能提升我们日常不少的工作效率。
好了。本期内容就到此为止了。各位大佬们,我们下期见咯~下期我会将我写的一个脚本的一部分拿出来简单分析一下思路。然后说一下三方工具的封装。我们下期见哈~
相关文章
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- python代码打包和反编译
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
- 【说站】python输入一个列表求平均值
- Python实现自动回复_python 微信机器人
- 【测试开发】python系列教程:第一个Python程序
- Python标识符的命名规则,下列哪些是对的?_python标识符不能使用关键字
- python输出unicode编码_Python以utf8编码读取文件
- python lambda表达式举例_Python中lambda表达式[通俗易懂]
- python hexdump_笨办法学 Python · 续 练习 26:`hexdump`
- python分段线性插值_Python实现分段线性插值
- 【测试开发】python系列教程:Python数据类型转换
- 【测试开发】python系列教程:Python 运算符
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- python-Python与SQLite数据库-处理SQLite查询结果(二)
- 掌握Linux环境下的Python编程(linux执行python)
- 在Linux上学习Python——你的编程之路(linux学python)
- Python轻松连接SQL Server数据库(python连接sqlserver)
- Python操作MySQL数据库的必备模块mysqlpython(mysql_python)
- Python标准库之多进程(multiprocessing包)介绍