zl程序教程

您现在的位置是:首页 >  后端

当前栏目

测试之路 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等日常造数据,清数据的测试脚本。能提升我们日常不少的工作效率。

好了。本期内容就到此为止了。各位大佬们,我们下期见咯~下期我会将我写的一个脚本的一部分拿出来简单分析一下思路。然后说一下三方工具的封装。我们下期见哈~