這一周我打算做一個 Flask 教程。本文先把 Flask 和 Django 做一個比對,因為我對這兩個 Python Web 框架都有實際的開發經驗。希望我可以幫助您選擇學習哪個框架,因為學習一個框架可能會非常耗時 —— 當然也很有趣!
注意:我只花了一個星期的時間在 Flask 上,而我已經用了三年的 Django。
相似之處
讓我們從相似之處開始。
1) Flask 和 Django 都是 Python Web 開發框架
它們使您能夠使用 Python 在服務端創建 Web 應用,並使用 html 和 CSS 作為前端,或者使用您喜歡的任何前端框架。
2) 可以使用 ORM 或對象關系映射
這基本上意味着,您可以使用 SQLITE,MYSQL,PostgreSQL 和其他利用 ORM 的數據庫。
-Django 默認使用 ORM
-Flask 默認情況下不具備 ORM 功能。需要時可手動添加它。
3) 模板.
-Django 使用類似於 Jinja 的模板引擎(實際上 Jinja 的靈感來自於 Django 自己的模板系統)
小評論:Django 不使用 Jinja,但它有自己的模板引擎。它們看起來很相似,因為正如 Jinja 的網站所說,『它的靈感來自於 Django 的模板系統』。
-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教程項目可拿,不懂的問題有老司機解決哦,一起相互監督共同進步
本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。