django和flask哪個(gè)值得研究學(xué)習(xí)
對(duì)于初學(xué)者來說,找到一個(gè)好的框架來學(xué)習(xí)或者項(xiàng)目開發(fā)都是非常有必要的,而當(dāng)你有一定開發(fā)經(jīng)驗(yàn)后,你應(yīng)該選擇適合當(dāng)前業(yè)務(wù)需要的框架。我這里并不想探討哪個(gè)框架好哪個(gè)不好,這個(gè)永恒的話題就跟探討“世界上哪種編程語(yǔ)言最屌”是一樣的。
分析
面對(duì)一個(gè)項(xiàng)目需求,不要著急去開發(fā),學(xué)會(huì)控制開發(fā)成本的前提是明白技術(shù)難點(diǎn)可能帶來的額外的時(shí)間消耗。對(duì)于我這種中級(jí)Python開發(fā)人員來說,并沒有實(shí)質(zhì)上的項(xiàng)目經(jīng)驗(yàn),沒有開發(fā)過大型的線上項(xiàng)目,無(wú)非是爬蟲寫了一堆又一堆,本質(zhì)上跟初學(xué)者差別不大,充其量也就算一個(gè)編碼經(jīng)驗(yàn)豐富的碼農(nóng)而已。所以在遇到難度相對(duì)較大的項(xiàng)目需求時(shí),往往會(huì)糾結(jié)該如何選擇框架上,這也會(huì)浪費(fèi)掉大量的時(shí)間。
選擇
所謂項(xiàng)目的難度大,要么是業(yè)務(wù)類型繁多,業(yè)務(wù)邏輯復(fù)雜。要么是涉及到一些擴(kuò)展功能,比如需要調(diào)用系統(tǒng)的shell命令、串口通信等等。前者沒有技術(shù)難點(diǎn),僅僅是業(yè)務(wù)復(fù)雜,考慮到后期項(xiàng)目擴(kuò)展,可能需要一個(gè)良好的系統(tǒng)架構(gòu)。對(duì)于后者來說,可能存在難以實(shí)現(xiàn)的技術(shù)難點(diǎn),要想搞定所有的技術(shù)難點(diǎn),需要重新學(xué)習(xí)對(duì)應(yīng)的知識(shí),包括后面的代碼測(cè)試,環(huán)境模擬測(cè)試等等一系列操作,這個(gè)時(shí)間是很難估算的。
Pythonweb框架里面比較出名的Django和Flask的選擇很是讓人頭疼。
在初學(xué)Python web的時(shí)候,很多老手都推薦學(xué)習(xí)Django,原因是因?yàn)镈jango相對(duì)比較完善,功能非常強(qiáng)大,有點(diǎn)像著名的ThinkPHP框架。老手們說的并沒有錯(cuò),但是這樣一開始就入手一款重量級(jí)框架可能不是一個(gè)好的開始。
Django框架的強(qiáng)大就肯定意味著它是一款重量級(jí)框架,而對(duì)于初學(xué)者來說,這可能是一種災(zāi)難。如果初學(xué)者沒有其他語(yǔ)言的基礎(chǔ),沒有后端開發(fā)的經(jīng)驗(yàn),那么這種方式可能直接就導(dǎo)致放棄。
Python web的入門,使用web.py是非常好的選擇。不管是Django還是Flask,他們?cè)O(shè)計(jì)的基礎(chǔ)都是web.py。不同的是Django設(shè)計(jì)的更復(fù)雜,更像是一間做好硬裝的房子,你只需要稍微做一下軟裝,布置一下家具就能把整個(gè)房間設(shè)計(jì)的很漂亮。
Flask就不太一樣了,它僅僅幫你做好了建房子所需要的材料,房子如何搭建,如何裝修全都得靠你自己動(dòng)手,所以同一個(gè)項(xiàng)目,使用Flask來做,不同的人可能設(shè)計(jì)出來的架構(gòu)完全不同,而使用Django框架做出來的架構(gòu)可能都差不多了。
對(duì)于用過MVC框架的開發(fā)者來說,上手Django是很快的,因?yàn)镈jango也是MVC模式。Flask就沒有什么模式可言了,僅僅提供了一種服務(wù)而已,要搞成什么樣子全靠自己。所以如果你想自己去設(shè)計(jì)目錄結(jié)構(gòu),模塊的劃分等個(gè)性化設(shè)計(jì)時(shí),推薦使用Flask。弊端也很明顯,如果你不是一個(gè)經(jīng)驗(yàn)豐富的開發(fā)者,你很可能會(huì)把整個(gè)項(xiàng)目架構(gòu)設(shè)計(jì)的亂七八糟。
對(duì)于我來說,很多時(shí)候一個(gè)項(xiàng)目剛開始并不覺得是個(gè)大項(xiàng)目,做到后面功能越來越多,擴(kuò)展越來越多,就變成了一個(gè)大項(xiàng)目,而使用Flask就很容易的完成這個(gè)任務(wù),小型項(xiàng)目快速開發(fā),大項(xiàng)目設(shè)計(jì)靈活。
內(nèi)容擴(kuò)展:
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__
到此這篇關(guān)于django和flask哪個(gè)值得研究學(xué)習(xí)的文章就介紹到這了,更多相關(guān)django和flask選哪個(gè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python web框架(django,flask)實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫分離的示例
- Django和Flask框架優(yōu)缺點(diǎn)對(duì)比
- flask/django 動(dòng)態(tài)查詢表結(jié)構(gòu)相同表名不同數(shù)據(jù)的Model實(shí)現(xiàn)方法
- Flask和Django框架中自定義模型類的表名、父類相關(guān)問題分析
- 查看Django和flask版本的方法
- python常用web框架簡(jiǎn)單性能測(cè)試結(jié)果分享(包含django、flask、bottle、tornado)
- 在 Django/Flask 開發(fā)服務(wù)器上使用 HTTPS
- 使用Django和Flask獲取訪問來源referrer
相關(guān)文章
python?基本結(jié)構(gòu)語(yǔ)句(函數(shù)和模塊)
這篇文章主要介紹了python?基本結(jié)構(gòu)語(yǔ)句(函數(shù)和模塊),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

python?配置uwsgi?啟動(dòng)Django框架的詳細(xì)教程

淺談django model postgres的json字段編碼問題

感知器基礎(chǔ)原理及python實(shí)現(xiàn)過程詳解

Python報(bào)錯(cuò)TypeError: ‘dict‘ object is not&

python list使用示例 list中找連續(xù)的數(shù)字

python filecmp.dircmp實(shí)現(xiàn)遞歸比對(duì)兩個(gè)目錄的方法

Python FastAPI 多參數(shù)傳遞的示例詳解

詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系