首页 » WordPress教程 » Python中flask重要吗?有何依据「flask 数据库操作」

Python中flask重要吗?有何依据「flask 数据库操作」

访客 2024-09-27 0

扫一扫用手机浏览

文章目录 [+]

Python中flask重要吗?有何依据

谢邀!

python是计算机语言,flask是python语言下面实现wsgi协议的web framework,而且实现wsgi协议的web framework有很多,基本上大部分的web framework都实现了:Django,tornado等,如果要掌握好(而不是学好)flask,需要应用,需要practice,需要用flask解决问题,不断的应用和练习,然后回过头去看flask的官方文档,你就会慢慢理解和掌握,看书和看文档只是让你了解,并不一定能掌握,学习任何一项技术都是这样。

Python中flask重要吗?有何依据「flask 数据库操作」 Python中flask重要吗?有何依据「flask 数据库操作」 WordPress教程

简单来分享一下我的观点,相对我来说,它是重要的,因为我是初学WEB;

Python中flask重要吗?有何依据「flask 数据库操作」 Python中flask重要吗?有何依据「flask 数据库操作」 WordPress教程
(图片来自网络侵删)

flask是轻量级的WEB框架,总结了以下四点来初步了解一下,:

1、它是使用 Python 编写的轻量级 Web 应用框架。

2、其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。

3、核心简单,用 extension 增加其他功能。

4、Flask没有默认使用的数据库、窗体验证工具。

在python中我们常用的两个WEB框架是:Django和flask;Django是一个重量级的选手,我看了一些教程,还是一头雾水,所以对于新手和初学者来说,比较难上手,flask就不同了,它能很大程序上帮助我们去全面了解WEB,同时对初学者对PYTHON本身的掌握,也起到了很大的重使用,找了一些资料,分享一下老手们是怎么看的:

(1)面向对象编程(Object-Oriented Programming, OOP)相信绝大多数人都接触过OOP,比如使用Java, Python, Go等。在Flask中,涉及基础OOP的概念,包括对象、类、继承、封装等。

(2)python基础Flask中涉及简单python概念,包括模块、包、装饰器、模块等。

(3)命令行基础大部分的开发都绕不开命令行,Flask同样要求基础命令行操作,例如上传服务器、查询文件、修改配置文件等。

(4)数据库基础web开发会产生数据管理的问题,虽然可以使用非数据库的方式搭建静态网页,但从长远来看将,掌握一门基础的数据库工具是很有必要的。比如结构化数据库Mysql, Postgresql,非结构化的MongoDB, Redis等。

(5)前端基础虽然搭建网站主要是后台逻辑编写,但今天越来越多的人在意前台展现,因此Flask除了后台python语言的要求外,还要求掌握基础的html, JavaScript, CSS。

(6)版本控制(增强)版本控制是所有程序开发的基础,了解基础的版本控制可以大大提高开发的效率。掌握基础的git技能会提高Flask网站开发速

从以上这些分享来看,就足以证明它是重要的

先说结论,没有那么重要。

flask现在算用得多的web框架,但也绝不是像java的spring一样统治级的。因为python没有独大的web框架,并且python主业不是web开发。web开发只是python里面不大的一部分,flask在这个部分里还不是主导。

web一站式的还有django虽然django也不是那么流行,但是一站式的框架确实也有很多开发者爱用。flask相对轻量级,在某些web比例不大的项目里确实很有用,但要开发更大的web项目,不是说不行,但是没那么方便。

重要性很容易判断,你问做java的是否知道spring,再看看pythoner有多大比例知道flask。

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。Flask也被称为 “microframework” ,即"微框架",因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

"微"框架中的“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用。

为什么选Flask?

接下来我们看看他的几大优点:

插件多。查找资料方便

没有太多繁琐的配置>步调/p>

各种中文资料、网友的受虐后的心得文章,查询方便

部署也非常方便

社区非常>活泼/p>

flask框架的主要>构成/h2>

Flask是一个轻量级的Web框架,它的主要组成包括以下几个方面:
WSGI工具:WSGI(Web Server Gateway Interface)是一个通用的标准,定义了Web服务器和Web应用程序之间的接口。Flask通过使用WSGI工具,使得Web服务器能够与应用程序进行交互,实现应用程序的运行。
Jinja2模板引擎:Jinja2是一个流行的模板引擎,用于生成动态Web页面。Flask通过集成Jinja2模板引擎,使得开发者可以方便地使用模板来呈现动态内容。
路由系统:路由系统是Web框架的核心组件之一,用于将URL路径与相应的处理函数进行绑定。Flask通过使用装饰器语法,使得开发者可以轻松地定义路由和处理函数。
请求和响应对象:Flask通过提供请求和响应对象,使得开发者可以方便地获取客户端请求的信息,以及构建和返回响应内容。
扩展和插件:Flask是一个扩展性强的框架,开发者可以通过扩展和插件来扩展Flask的功能。例如,开发者可以使用Flask-SQLAlchemy扩展来管理数据库操作,使用Flask-Mail扩展来发送邮件等。
蓝图:蓝图是Flask中用于组织路由和应用程序代码的组件。一个蓝图可以包含多个路由和处理函数,使得应用程序的代码更加模块化和可维护。
上下文系统:上下文系统是Flask中用于管理请求处理过程中变量和执行环境的组件。通过上下文系统,开发者可以在请求处理过程中共享数据和执行特定的操作。
综上所述,Flask框架的主要组成包括WSGI工具、Jinja2模板引擎、路由系统、请求和响应对象、扩展和插件、蓝图以及上下文系统等。这些组件共同协作,使得开发者能够快速构建灵活、可扩展的Web应用程序。

如何使用gevent优化flask

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。

gevent是第三方库,通过greenlet实现协程,其基本思想是:

当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO。

gevent实现了异步、IO非阻塞的功能。

由于切换是在IO操作时自动完成,所以gevent需要修改Python自带的一些标准库,这一过程在启动时通过monkey patch完成:

一. 安装gunicorn和gevent:pip install gunicorn / pip install gevent

二. 启动gunicorn(注:这时必须进入你项目的根目录且处于虚拟环境中,因为gunicorn安装在虚拟环境中)

1. 配置gunicorn启动配置文件,在项目的根目录创建一个gun.conf

2. 然后执行以下代码启动:gunicorn -k gevent -c gun.conf app:app


标签:

相关文章

平谷电商SEO,打造高效电商平台的方法

电商行业日益繁荣。在众多电商企业中,如何脱颖而出,实现可持续发展,成为了一个亟待解决的问题。而SEO(搜索引擎优化)作为一种有效的...

WordPress教程 2025-03-28 阅读0 评论0