哈喽,大家好,我是小王,上期我们说道路由与蓝图的概念,本期我们就来说说模板渲染
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等日常造数据,清数据的测试脚本。能提升我们日常不少的工作效率。
好了。本期内容就到此为止了。各位大佬们,我们下期见咯~下期我会将我写的一个脚本的一部分拿出来简单分析一下思路。然后说一下三方工具的封装。我们下期见哈~