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 相关文章推荐
python 数据加密代码
Dec 24 Python
python 将字符串转换成字典dict
Mar 24 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
Django框架自定义session处理操作示例
May 27 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
浅谈在JupyterNotebook下导入自己的模块的问题
Apr 16 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
Python如何实现机器人聊天
Sep 10 Python
如何在Anaconda中打开python自带idle
Sep 21 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多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
php创建图像具体步骤
2017/03/13 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
详解node中创建服务进程
2017/05/09 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
儿童学习python的一些小技巧
2018/05/27 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
详解python itertools功能
2020/02/07 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
校园文化标语
2014/06/18 职场文书
升职自荐书
2019/05/09 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
Python函数中的不定长参数相关知识总结
2021/06/24 Python
Python turtle编写简单的球类小游戏
2022/03/31 Python