django和flask哪个值得研究学习


Posted in Python onJuly 31, 2020

对于初学者来说,找到一个好的框架来学习或者项目开发都是非常有必要的,而当你有一定开发经验后,你应该选择适合当前业务需要的框架。我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨“世界上哪种编程语言最?拧笔且谎?摹?/p>

分析

面对一个项目需求,不要着急去开发,学会控制开发成本的前提是明白技术难点可能带来的额外的时间消耗。对于我这种中级Python开发人员来说,并没有实质上的项目经验,没有开发过大型的线上项目,无非是爬虫写了一堆又一堆,本质上跟初学者差别不大,充其量也就算一个编码经验丰富的码农而已。所以在遇到难度相对较大的项目需求时,往往会纠结该如何选择框架上,这也会浪费掉大量的时间。

选择

所谓项目的难度大,要么是业务类型繁多,业务逻辑复杂。要么是涉及到一些扩展功能,比如需要调用系统的shell命令、串口通信等等。前者没有技术难点,仅仅是业务复杂,考虑到后期项目扩展,可能需要一个良好的系统架构。对于后者来说,可能存在难以实现的技术难点,要想搞定所有的技术难点,需要重新学习对应的知识,包括后面的代码测试,环境模拟测试等等一系列操作,这个时间是很难估算的。

Pythonweb框架里面比较出名的Django和Flask的选择很是让人头疼。

在初学Python web的时候,很多老手都推荐学习Django,原因是因为Django相对比较完善,功能非常强大,有点像著名的ThinkPHP框架。老手们说的并没有错,但是这样一开始就入手一款重量级框架可能不是一个好的开始。

Django框架的强大就肯定意味着它是一款重量级框架,而对于初学者来说,这可能是一种灾难。如果初学者没有其他语言的基础,没有后端开发的经验,那么这种方式可能直接就导致放弃。

Python web的入门,使用web.py是非常好的选择。不管是Django还是Flask,他们设计的基础都是web.py。不同的是Django设计的更复杂,更像是一间做好硬装的房子,你只需要稍微做一下软装,布置一下家具就能把整个房间设计的很漂亮。

Flask就不太一样了,它仅仅帮你做好了建房子所需要的材料,房子如何搭建,如何装修全都得靠你自己动手,所以同一个项目,使用Flask来做,不同的人可能设计出来的架构完全不同,而使用Django框架做出来的架构可能都差不多了。

对于用过MVC框架的开发者来说,上手Django是很快的,因为Django也是MVC模式。Flask就没有什么模式可言了,仅仅提供了一种服务而已,要搞成什么样子全靠自己。所以如果你想自己去设计目录结构,模块的划分等个性化设计时,推荐使用Flask。弊端也很明显,如果你不是一个经验丰富的开发者,你很可能会把整个项目架构设计的乱七八糟。

对于我来说,很多时候一个项目刚开始并不觉得是个大项目,做到后面功能越来越多,扩展越来越多,就变成了一个大项目,而使用Flask就很容易的完成这个任务,小型项目快速开发,大项目设计灵活。

内容扩展:

Django和flask版本查看

查看Django版本

检查是否安装成功,可以在dos下查看Django版本。

1.输入python
2.输入import django
3.输入django.get_version()

查看flask版本

检查是否安装成功,可以在dos下查看flask版本。

1.输入python
2.输入import flask
3.输入flask.__version__

到此这篇关于django和flask哪个值得研究学习的文章就介绍到这了,更多相关django和flask选哪个内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
django使用图片延时加载引起后台404错误
Apr 18 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
Python 3.8 新功能全解
Jul 25 Python
python数据归一化及三种方法详解
Aug 06 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
Python 静态方法和类方法实例分析
Nov 21 Python
python如何使用Redis构建分布式锁
Jan 16 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
Python一些基本的图像操作和处理总结
Jun 23 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 #Python
Python如何输出百分比
Jul 31 #Python
PyCharm配置anaconda环境的步骤详解
Jul 31 #Python
Pycharm及python安装详细教程(图解)
Jul 31 #Python
对Python 字典元素进行删除的方法
Jul 31 #Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 #Python
Pycharm导入anaconda环境的教程图解
Jul 31 #Python
You might like
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python实现随机密码字典生成器示例
2014/04/09 Python
Python批量发送post请求的实现代码
2018/05/05 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
UNIX特点都有哪些
2016/04/05 面试题
幼儿园健康教育方案
2014/06/14 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
Spring整合Mybatis的全过程
2021/06/28 Java/Android
详解flex:1什么意思
2022/07/23 HTML / CSS