Django和Flask的區(qū)別
1.形象類比

如果Django類似于精裝修的房子,自帶豪華家具、非常齊全功能強大的家電,什么都有了,拎包入住即可,十分方便。

而Flask類似于毛坯房,自己想把房子裝修成什么樣自己找材料,買家具自己裝。材料和家具種類非常豐富,并且都是現(xiàn)成免費的,直接拿過去用即可。
2.在體量上的區(qū)別
Flask:
- 小巧、靈活,讓程序員自己決定定制哪些功能,非常適用于小型網(wǎng)站。
- 對于普通的工人來說將毛坯房裝修為城市綜合體還是很麻煩的,使用Flask來開發(fā)大型網(wǎng)站也一樣,開發(fā)的難度較大,代碼架構(gòu)需要自己設(shè)計,開發(fā)成本取決于開發(fā)者的能力和經(jīng)驗。
Django:
3.通過大數(shù)據(jù)統(tǒng)計分析

全球著名的stackshare網(wǎng)站對Django和Flask這兩個框架的調(diào)查分析。

-
從全球開發(fā)者關(guān)注程度上:Django為5.8K,F(xiàn)lask為3.31K
-
從國外招聘網(wǎng)站崗位需求上:提到Django的有1.77K,F(xiàn)lask為942
-
從著名的問答網(wǎng)站stack overflow提問數(shù)量上:Django 196K,F(xiàn)lask為27.6K
-
從全球著名的代碼托管平臺上的star和fork數(shù)量上:Django分別為41.3K、17.8K,F(xiàn)lask分別為43.8K、12.3K
4.完成同樣一個Hello World功能

使用Flask來完成:
完成最簡單的Hello World功能,F(xiàn)lask只需要7行代碼,非常簡單、方便。
使用Django來完成:
-
第一步,安裝Django,pip install django
-
第二步,創(chuàng)建工程項目目錄,django-admin startproject myproject
-
第三步,創(chuàng)建子應(yīng)用,python manage.py startapp myapp
-
第四步,在myapp應(yīng)用所在目錄中的views.py文件中,添加如下代碼

-
第五步,在myapp應(yīng)用所在目錄中創(chuàng)建urls.py路由文件,并添加如下代碼

-
第六步,在主路由文件中添加路由。
從上面的操作步驟可知,實現(xiàn)同樣的一個功能,往往Flask較為簡單,代碼較少,而Django所涉及到的流程較多,工程項目結(jié)構(gòu)清晰,在大型項目中具有優(yōu)勢。
四、在實際工作中如何選擇這兩個框架呢?

-
如果你想搞懂Python web開發(fā)WSGI協(xié)議原理以及實現(xiàn)過程、或者你想靈活定制組件,完全DIY你的應(yīng)用、想實現(xiàn)微服務(wù),那么建議你選擇Flask。
-
如果你關(guān)注產(chǎn)品的最終交付、想快速開發(fā)一個大的應(yīng)用系統(tǒng)(比如新聞類網(wǎng)站、商城、ERP等),那么建議你選擇Django,你想得到的功能它都有,想不到的功能它也有。
|