更新时间:2023年03月08日11时14分 来源:传智教育 浏览次数:
Flask是一个用Python编写的微框架,它可以帮助开发者在短时间内完成一个功能丰富的Web应用程序。微框架并不意味着将Web应用程序的所有代码放置在一个py文件中,而是意味着代码简洁且易于扩展。
Flask默认依赖Werkzeug WSGI工具包和Jinja2模板引擎,它只保留了Web开发的核心功能,没有用户认证、表单验证、发送邮件等其他Web应用程序框架通常拥有的功能。开发者若需要给Flask程序添加额外的功能,可以在Flask官网找到相应的扩展包进行开发。
Flask之所以如此受欢迎,离不开其自身具备的几个特点。
Flask自带开发服务器,它可以让开发者在调试Web应用程序时无须安装其他的网络服务器,如Tomcat、JBoss、Apache等,为程序正式运行提供了一定的保障。另外,基于Flask开发的程序默认处于调试状态,当程序运行出现异常时,Flask程序会同时向启动Python程序的控制台和HTTP客户端发送错误信息。
Flask使用Jinja2模板引擎将HTML页面与应用程序联系起来。Jinja2是一个灵活的模板引擎,它由Django模板引擎发展而来,但比Django模板引擎更加高效。Jinja2模板引擎使用配制的语义系统,不仅提供了灵活的模板继承技术,还可以自动防止XSS跨站攻击。
Flask社区提供了功能丰富的扩展包,能让程序在具备核心功能的同时实现功能的扩展。开发者可以根据自己的需求添加扩展包,也可以自行开发扩展包,扩展包有助于开发者快速开发功能丰富的网站,并实现对网站的个性化定制。
Flask完全基于Unicode编码格式,这对制作使用非纯ASCII字符集的网站而言非常方便。HTTP支持传输任何编码格式,但该协议要求每次传输时要在请求头中显式指定使用的编码格式,Flask程序默认会为请求头指定WJTF-8编码,开发者无须再担心编码问题。
WSGI(Web服务器网关接口)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口,它制定了一套通信标准,保证Web服务器与Web应用程序之间相互通信。Flask程序完全兼容WSGI,能够配置在各种大型网络服务器。
单元测试是指对软件中的最小可测试单元进行检查和验证,一般用于判断某个特定条件下某个特定函数的行为,保证该函数在特定条件下能够l按预想输出,或者在不符合要求时提醒开发者进行检查。Flask提供了一个与Python自带的单元测试框架unittest无缝衔接的测试接口,即Flask对象的test_client(O函数,通过该函数测试程序可以模拟HTTP访问客户端,调用Flask路由绑定的视图函数,并且获取视图函数的返回值进行自定义的验证。