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获取当前计算机cpu数量的方法
Apr 18 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
Python存取XML的常见方法实例分析
Mar 21 Python
解读! Python在人工智能中的作用
Nov 14 Python
Python文本特征抽取与向量化算法学习
Dec 22 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Python调用.NET库的方法步骤
Dec 27 Python
使用TensorFlow-Slim进行图像分类的实现
Dec 31 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 Python
如何判断pytorch是否支持GPU加速
Jun 01 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
php实现登录页面的简单实例
2019/09/29 PHP
php服务器的系统详解
2019/10/12 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
python正则表达式之作业计算器
2016/03/18 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
个人事迹材料范文
2014/12/29 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
学校教学工作总结2015
2015/05/19 职场文书
同学聚会开幕词
2019/04/02 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python