Python三大web框架分别是什么 哪个更好

Python三大web框架分别是什么 哪个更好,第1张

导读目前,Python比较火的三大web框架有Django、Flask和Tornado,要论这三个Web框架哪个更好的话,建议一点,Django帮我们事先搭建了好多,上手会快一些,学习的话可以先从Django学起,然后再学习Flask和Tornado,下面我们就来具体了解一下Python三大web框架的详情。

1、Django

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。

2、Flask

Flask是一个使用Python编写的轻量级Web应用框架。其 WSGI工具箱采用Werkzeug ,模板引擎则使用 Jinja2

。Flask使用BSD授权。

Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension

增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm +

Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

3、Tornado

Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python

的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个

理想框架。

关于Python三大web框架的简单介绍,就给大家分享到这里了,当然学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚,希望大家抓紧时间进行学习吧。

去年春节期间,没事报了一个pythonweb开发的网络课程,根据自己的学习情况来回答一下。

一个页面的开发,应该是分前端和后端的。

关于后端

在python中有两个最常见的开发框架:Django,flask。

Django大而全,什么功能模块都已经封装好了,调用即可;flask小而精,没有很高的封装,但是有许多功能模块,需要我们自己去集成。

当初学习的那个网络课程是用flask框架来做的,上手很简单:

当初学习的时候能写一个小的网站,本来想转行做python后端开发的,但是后来还是接着做数据挖掘了,许久不用,倒是有点生疏了。总得来说,有几大模块:

路由

route()装饰器把一个函数绑定到对应的URL上,Flask的URL规则基于Werkzeug的路由模块。这个模块背后的思想是基于Apache以及更早的>

模板渲染Jinja2

用Python生成HTML十分无趣,而且相当繁琐,因为你必须手动对HTML做转义来保证应用的安全。为此,Flask配备了Jinja2模板引擎。当然你也可以使用其他的模板引擎,但是建议你还是使用jinja2模板

请求对象request

你可以使用全局request对象访问进入的请求数据。Flask处理进入的请求数据并允许你用这个全局对象访问它。如果你工作在多线程环境,Flask内部保证你总会在当前线程上获取正确的数据。

数据库交互-Flask-SQLAlchemy

通过sqlalchemy对数据库增删改查,使用的是orm模式,不需要写SQL语句。

在数据库中,一个表就是一个python类,一个类的实例就是表中的行。

在开发过程中,会用到一些python的高级应用:

装饰器:在权限验证的时候很需要用到

模块的导入:防止循环导入

图像处理:验证码生成

property使用:密码加密时使用

关于前端

如果对前端不熟,想做一个小网站练练手,推荐你使用Bootstrap

里面有各种的CSS样式,各种组件,JS插件,还有一些网站实例供你参考,对前端HTML,CSS不是很熟悉的,可以通过这略微修改快速搭建一个前端页面。

后记:

将来的数据挖掘工作者可能也需要懂网站后端开发,因为以后建模不会一直都是在单机中,可能会集成到网站中,实时数据流入模型,结果展示在网站上。

1filter() 把过滤器添加到原查询上,返回一个新查询

2filter_by() 把等值过滤器添加到原查询上,返回一个新查询

3limit 使用指定的值限定原查询返回的结果

4offset() 偏移原查询返回的结果,返回一个新查询

5order_by() 根据指定条件对原查询结果进行排序,返回一个新查询

6group_by() 根据指定条件对原查询结果进行分组,返回一个新查询

1all() 以列表形式返回查询的所有结果

2first() 返回查询的第一个结果,如果未查到,返回None

3first_or_404() 返回查询的第一个结果,如果未查到,返回404

4get() 返回指定主键对应的行,如不存在,返回None

5get_or_404() 返回指定主键对应的行,如不存在,返回404

6count() 返回查询结果的数量

7paginate() 返回一个Paginate对象,它包含指定范围内的结果

-pages一共多少页

-page当前页

-has_prev上一页

-has_next下一页

-iter_pages() 所有页数

-per_page 多少条数据

返回名字等于xiaobao的所有人

关系属性是 sqlalchemy 封装的一套查询关联数据的语法, 其目的为 让开发者使用 面向对象的形式 方便快捷的获取关联数据

关系属性的 本质仍是外键

关系属性使用步骤:

定义关系属性

外键字段设置外键参数

通过关系属性获取关联数据

如果你想使用 PyInstaller 打包 Flask 和 Flask-SQLAlchemy 应用,你可以这样做:

安装 PyInstaller:在命令行中输入 "pip install pyinstaller"。

创建 Flask 应用。

在应用中导入 Flask-SQLAlchemy。

使用 PyInstaller 打包应用。在命令行中输入 "pyinstaller your_apppy",其中 "your_apppy" 是你的应用的文件名。

PyInstaller 会创建一个新的文件夹,其中包含你的应用的可执行文件和所有依赖的文件。

注意:在使用 PyInstaller 打包 Flask 应用时,你需要在命令行中使用 "--hidden-import" 参数来指定所有需要导入的 Flask 模块。例如:"pyinstaller your_apppy --hidden-import flaskextsqlalchemy"。

希望这些信息对你有帮助。

以上就是关于Python三大web框架分别是什么 哪个更好全部的内容,包括:Python三大web框架分别是什么 哪个更好、怎么用python实现一个页面的开发、Flask中数据库 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10147766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存