這一週我打算作一個 Flask 教程。本文先把 Flask 和 Django 作一個比對,由於我對這兩個 Python Web 框架都有實際的開發經驗。但願我能夠幫助您選擇學習哪一個框架,由於學習一個框架可能會很是耗時 —— 固然也頗有趣!html
注意:我只花了一個星期的時間在 Flask 上,而我已經用了三年的 Django。前端
類似之處
讓咱們從類似之處開始。python
1) Flask 和 Django 都是 Python Web 開發框架
它們使您可以使用 Python 在服務端建立 Web 應用,並使用 html 和 CSS 做爲前端,或者使用您喜歡的任何前端框架。數據庫
2) 可使用 ORM 或對象關係映射
這基本上意味着,您可使用 SQLITE,MYSQL,PostgreSQL 和其餘利用 ORM 的數據庫。前端框架
-Django 默認使用 ORM
-Flask 默認狀況下不具有 ORM 功能。須要時可手動添加它。markdown
3) 模板.
-Django 使用相似於 Jinja 的模板引擎(實際上 Jinja 的靈感來自於 Django 本身的模板系統)網絡
小評論:Django 不使用 Jinja,但它有本身的模板引擎。它們看起來很類似,由於正如 Jinja 的網站所說,『它的靈感來自於 Django 的模板系統』。app
-Flask 使用 Jinja 做爲其模板引擎。框架
Jinja 基本上就像 HTML 的 Python(python + html = Jinja),它使您可以向 HTML 添加邏輯,例如 if/else
,for
循環和我真正喜歡的模板擴展!學習
Flask 和 Django 之間還有許多類似之處,但對我而言,這是三個主要的類似之處。
差別
Flask 和 Django 的差別仍是蠻大的,接下來咱們一一探討。
使用 Flask,您能夠得到難以置信的靈活性。
您在建立 app.py
(相似於應用程序的主要邏輯),models.py
(在其中存儲用於建立數據庫表的模型的位置),模板等。您對於應用構建結構有絕對控制權。
使用 Django, 一切都是爲您構建的!
settings.py
(相似於應用程序的配置文件),models.py
,urls.py
(全部路由的存儲位置),模板等。
這就是爲何 Django 的標籤是 爲 Deadline 所生的框架 的緣由。由於全部功能都是內置的,您無需費心建立文件並思考應用結構如何設計。 一切已準備就緒,您能夠當即開始構建應用。
結論
Flask 和 Django 都有優勢和不足,而且每一個都有本身的用途和目的。
若是您要開發的應用程序簡單而不復雜,那麼 Flask 是您的最佳選擇。
可是,若是您是初學者而且想使用 Python 進行 Web 開發,我建議您從 Flask 開始。您在 Flask 中學習的內容能夠應用於 Django ,所以 Flask 相對來講更加容易。
另外不少人在學習Python的過程當中,每每由於沒有好的教程或者沒人指導從而致使本身容易放棄,爲此我建了個Python全棧開發交流.裙 :一久武其而而流一思(數字的諧音)轉換下能夠找到了,裏面有最新Python教程項目可拿,不懂的問題有老司機解決哦,一塊兒相互監督共同進步本文的文字及圖片來源於網絡加上本身的想法,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。