首页 » SEO教程 » 想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢「flask web开发实战」

想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢「flask web开发实战」

duote123 2024-12-24 0

扫一扫用手机浏览

文章目录 [+]

想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢

django是一个功能全面的开发框架,自己就包含了模板、对象关系映射(ORM)、数据库访问、权限控制等等开发一个应用所需的大部分功能。可以说学会了它,基本上就可以用Python做东西了。不过相应的,django的缺点就是比较重,如果你要做的东西不是很大,可能会感觉用django就是大炮打蚊子。

flask就相对轻量级很多了,专注于处理http的这些基本功能。如果你只想弄几个网页,后台套点SQL,可能flask就是最适合的了。不过用flask也不用太担心用起来不方便,现在有很多针对flask开发的模块,协助完成数据库、权限、等等各方面。你用到什么功能,就去寻找对应的flask模块导入到项目中。这样项目不会很大,而且开发也很方便。

想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢「flask web开发实战」 SEO教程

当然如果有余力的话,最好两个都学一学,作为Python web领域几个最著名的框架,学了肯定对自己的技术有很多帮助的。

1、Django是一款重量级的Python开发web框架,功能齐全,不同的人用Django来开发,开发出来的东西基本架构都是一样的,但是Flask是一个轻量级的web框架,相对来说更加灵活,每个人开发出来的东西架构可能完全不一样,

所以对于团队级别的大型项目来说,比较适合选择Django,因为整个团队比较容易达成一致的架构,不会陷入无休止的会议讨论,里面很多东西不需要自己设计,拿来即用,快速开发。

而对于个人开发的小项目来说,也可以用Django,也可以用Flask,用Flask的话,可以设计自己的项目架构,不必拘泥于Django的固定模式。但是对于经验少的开发者来说,这里就比较困难了

2、Flask对于加深Python学习有很大帮助,因为Flask不像Django很多东西都是现成的,需要自己去写

3、Django对新手来说比Flask容易上手,正是因为灵活性的>缘故原由/p>

Flask

  1. Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过

  2. Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库
  3. 入门简单,即便没有多少web开发经验,也能很快做出网站
  4. 非常适用于小型网站
  5. 非常适用于开发web服务的API
  6. 开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验各方面性能均等于或优于Django
  7. Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库
  8. Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一
  9. Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django
  10. Flask比Django更加Pythonic,与Python的philosophy更加>符合br/>

Django

  1. jango太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高

  2. Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉
  3. Django的自带ORM非常优秀,综合评价略高于SQLAlchemy
  4. Django自带的模板引擎简单好用,但其强大程度和综合评价略低于Jinja
  5. Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDB等NoSQL数据,需要选取合适的第三方库,且总感觉Django+SQL才是天生一对的搭配,Django+NoSQL砍掉了Django的半壁>山河br/>
  6. Django目前支持Jinja等非官方模板引擎
  7. Django自带的数据库管理app好评如潮
  8. Django非常适合企业级网站的开发:快速、靠谱、>稳固br/>
  9. Django成熟、稳定、完善,但相比于Flask,Django的整体生态相对封闭
  10. Django是Python web框架的先驱,用户多,第三方库最丰富,最好的Python库,如果不能直接用到Django中,也一定能找到与之对应的移植
  11. Django上手也比较容易,开发文档详细、完善,相关资料丰富

Django就是一个标配的厨房,电饭煲、微波炉、灶台、洗手盘等一应俱全,有菜就可以做;Flask是一个空间,空间旁边也有电磁炉、微波炉、电饭煲这些,你需要就自己拿过去这个空间里用。如果你想炒个面,可能厨房有点大材小用,你就在空间旁边拿个电磁炉过去用一下就好。当然你用厨房也不是不行,你开心就好。

Python中flask重要吗?有何依据

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

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

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

为什么选Flask?

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

插件多。查找资料方便

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

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

部署也非常方便

社区非常>活泼/p>

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

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

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

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

标签:

相关文章

UI设计大数据时代的艺术与科学

大数据时代已经悄然来临。UI设计(用户界面设计)作为连接用户与产品的重要桥梁,其重要性愈发凸显。本文将从UI设计在大数据时代的作用...

SEO教程 2025-03-14 阅读0 评论0

Unix源代码开源精神的摇篮与创新的源泉

Unix作为计算机操作系统领域的先驱,自诞生以来就以其高效、稳定、安全的特点受到了广泛的关注。Unix源代码的开源,更是为全球开发...

SEO教程 2025-03-14 阅读0 评论0

VBA求和代码Excel数据处理的神奇力量

数据处理能力已成为衡量一个人专业素养的重要标准之一。而Excel作为一款广泛应用于各行各业的办公软件,其强大的数据处理功能更是备受...

SEO教程 2025-03-14 阅读1 评论0

VB下划线代码VisualBasic编程的精髓

在计算机编程领域,VB下划线代码一直备受关注。作为Visual Basic编程语言的核心组成部分,下划线代码在提升代码可读性、降低...

SEO教程 2025-03-14 阅读0 评论0