2012-10-08 85 views
92

我想採取網絡發展的道路,並且擁有一個使用Python的Web開發人員的職業生涯,並且真的很想學習Django,因爲它是一個完整的Web框架,並且在尋找網絡工作時對我更有利開發商。Flask或Django初學者?

但是一個朋友告訴我以Flask開頭,因爲它更簡單,並且在我開始學習Django時會幫助我,因爲Django比Flask更復雜。所以當我開始學習Django時,Flask會爲我放鬆一些事情。

所以我應該從Flask開始,知道我最終會學習Django嗎?或者剛開始學習Django?

+2

我創建了一個工作表來幫助其他開發者決定Flask和Django。你可以通過它並獲得最佳框架的「結果」使用: https://wakatime.com/django-vs-flask-worksheet –

+1

我知道它的一個老問題,但這肯定會幫助像我們這樣的初學者[ Django VS燒瓶](https://www.youtube.com/watch?v=zGqmRbkukk8) – Suresh2692

回答

1

你應該開始玩兩種遊戲,如果你沒有義務使用你喜歡的玩家。另外請注意,學習其中一個很可能會使其他人更容易學習。

12

恕我直言,我會直奔Django。對於一個簡單的應用程序或網站來說,學習起來可能會很困難,但是,我認爲在線提供的支持和文檔數量遠遠超過其他任何Python Web框架。另外,正如你所說,Django是一個真實的世界使用框架。如果你打算使用它,那麼學習其他東西可能會浪費時間,然後忘記學習Django。 (因爲技術的任何轉變都涉及到某種學習方式)

這些都是主觀的,只有我的看法。

15

燒瓶是一個微型框架,但這並沒有使它更簡單。

它只是不會對您要使用的生態系統/庫 做出很多假設。它留給你。

這反過來,我認爲這意味着它是致力於更有經驗的 開發人員。

Django的學習曲線陡峭,因爲如您所說,它是全棧式的。 它強制你自己的ORM,表單框架等,但它抽象 很複雜,否則你不得不處理。

我同意丹尼爾。如果我在你的位置,我會直接去Django。

145

我會建議你從Flask開始。使用Flask,你將明確地編寫你自己的路由函數,讓你的路由渲染模板等等,所有這些都使用你已經熟悉的Python函數。沒有什麼「魔力」。你可以看到究竟發生了什麼,並瞭解它發生的原因。 Flask文檔也相當不錯,簡潔明瞭,所以你可以在幾個小時內閱讀並學習Flask,花幾個晚上學習完成一個完整的應用程序,然後轉到Django。時間投入很小,它會爲Django做好充分的準備,並且您將瞭解到一個偉大的微觀框架。有時候我在使用Django構建項目之前,有時會在Flask中創建項目。

Django雖然功能更全面,但具有明確的結構和慣例,因此初學者可以更加神祕地弄清楚所有東西如何組合在一起。如果您對網絡開發不熟悉,您可能會對您是否正在做某些事情感到困惑,因爲這是Web開發慣例,還是因爲它是Django公約/組織的一部分而做的。

如果你在開始學習Django(你最初的目標)之前可以花幾天或一週時間玩Flask,我認爲這是值得的。兩者都是很棒的框架。歡迎來到Web開發的世界。

+4

嗯,我已經開始在Django。製作了一些動態和靜態的頁面,我開始很好地掌握其中的內容。那麼你是否有鏈接來解釋發動機罩下發生的事情,而不是學習燒瓶?因爲你是一個有說服力的說話者:D –

+1

不幸的是,我沒有Django的內幕摘要。新開發人員經常困惑的一件事是路由如何工作。以下是Django路由的說明https://docs.djangoproject.com/en/dev/topics/http/urls/以下是Flask路由的說明http://flask.pocoo.org/docs/quickstart/#routing 聽起來你已經在Django上做了一個好的開始。檢查Django教程,如果你還沒有 - 它相當不錯。 – dghubble

+3

@dghubble非常感謝你的理由充分,寫得很好的答案。我知道這個問題被關閉爲「不具有建設性」,但我得告訴你,你的答案幫助我弄清楚了Flask是什麼,以及我如何將處理Python的東西作爲我的主要webdev語言。你搖滾! :-) –

6

所以,我不確定你在這裏比較蘋果與Pommes。我是一位有經驗的Django用戶,剛開始使用Flask。 Django早期的理念是它應該是一個包含電池的框架,而Flask非常適合自己找電池的方法。問題是,你是否想要有一個框架,這就是你現在需要學習如何構建豐富的網站,或者你想要一個只是非常基礎的框架,並且你很樂意衡量那些選項所有的堅果和螺栓?

此外,你聲明你正在尋找一個在網絡發展和一個工具箱的職業去與它。我發現即使在今天,僱主們也經常聽到'Django'的消息。令人信服的人僱用你和你的前往框架是燒瓶可能是一個更難賣。

我的2cents會陷入Django並建立一些簡單的網站(民意調查,博客等),然後當你感到舒服的時候,回去使用Flask重新構建它們。最後,它都是Python。

25

當我想嘗試使用Python進行web開發時,我的情況也是一樣:)我和Django一起去了。雖然有時很難理解Django背後的所有魔力,但它很好,並且有很多非常有用的東西。如果你喜歡ORM,那麼Django就很好。它也有管理面板。通用視圖也是好東西:)基本上它是非常好的框架,當你將在線運行你的第一個應用程序時,第二個應用程序的開發將會很有趣:)

但是過了一段時間,我發現了Flask。現在我正在與它合作。爲什麼?因爲有時候我喜歡自己創作和創作,所以我想學習並且知道事情是如何運作的。燒瓶是簡約的東西,你會創建所有的「魔術」Django已經有了。我很高興我開始使用Django,只是因爲現在我可以在Flask應用程序中使用一些原則。 Flask用戶較少,但到目前爲止,這對我來說並不是什麼大問題。它也有擴展,已經幫助你一些東西。儘管ORM的構建並不像Django那樣深入,但我喜歡這一點,因爲我討厭ORM(稱我老掉牙了,但我仍然認爲原始SQL在我的情況下更加有效)。

最好的事情就是嘗試兩種選擇你喜歡的。有經驗的人可以給出一個比另一個更好的建議,但我會說 - 嘗試!如果你看到你用Django斷腿,也許Flask會有所幫助。或者以其他方式。

玩得開心!

+0

Django管理面板具有優點(開箱即用的CRUD)和缺點(「隱藏」代碼)。我認爲Flask和Django都很棒,所以我同意Ignas。 – Timo