3

我是新來學習Python的Web開發,並決定使用Flask作爲我現在選擇的框架。我之所以選擇這個主要是因爲它在Web開發中的基本方法,我希望儘可能地使自己的Web應用程序自定義和儘可能多。我已經在PHP中創建了一個非常基本的MVC框架,並希望在Python中製作這樣的東西。我正在研究一些與數據庫交互的方法,並添加用戶登錄/註冊支持,而我原來的想法是我想用我自己的方法和對象完成所有的自定義操作,而不是這樣做。與我在PHP中完成的工作類似,所以我可以儘可能多地瞭解如何有效地開發自己的後端以用於長期生產項目。在一些研究中,我發現了Flask中的基本對象,如Login Manager,Login-FormFlask-Admin等。我不喜歡使用這些很好包裝的東西,我幾乎沒有控制,也沒有dev'd定製的想法。燒瓶自定義登錄和模板渲染

使用那種東西,我也覺得我不知道所有這些東西是如何工作在最底層的,所以我不能重現他們在生活中稍後給我的一些好處,當項目環境發生變化時,需要靈活性,定製化,可維護性和效率。顯然我現在不在這個位置,但我知道如何在PHP中編寫這個後端的東西,我只是想知道這是否意味着在Python/Flask中我自己管理會話和身份驗證,或者如果我的想法完全沒有託詞,甚至沒有接近管理相同的東西。

+0

我建議你使用flask-login – dpgaspar 2014-10-31 16:18:00

回答

5

這是一個非常好的主意,以瞭解身份驗證如何在低級別工作 - 這一點非常重要,因爲許多人從不學習這些東西,這非常有趣!

我推薦你做的是看看官方Flask教程(http://flask.pocoo.org/docs/0.10/tutorial/),因爲它涵蓋了很多(直接使用會話等)。

我會不是推薦,但是,正在使用這種東西在生產。

使用您自己的身份驗證代碼幾乎從不是一個好主意 - 依賴良好支持的庫已經被其他人審覈以解決安全問題要好得多。

在燒瓶世界裏,你已經有了一對夫婦的選擇:

中那些3,我真的很喜歡Flask-Stormpath - 但是當我寫它的時候,我有超級偏見=)

Flask-Stormpath支持最廣泛的定製/等,並允許您隨心所欲地執行任何操作。

希望有幫助!

+0

非常感謝你。就我所擁有的「選擇」(Flask-Login,Flask-Security,Flask-Stormpath)而言,這些選項/選項是否具有技術上的插件或對象,我可以將其導入並安裝到現有項目中?如果是這樣,在某些時候,我想有足夠的經驗/專業知識可以開發一個非常基本的身份驗證框架並構建它,並將它放在簡歷中並展示經驗...... – 2014-10-31 17:24:27

+0

這些都是您可以使用的插件將auth添加到Flask應用程序中 - 它們在功能方面列出(Flask-Login是最簡單的,並且如果您希望獲得裸機體驗,則最好建立在此基礎上)。 – rdegges 2014-10-31 17:33:25

0

Flask官方文檔有一些應用程序示例。其中之一是MiniTwit微型Twitter的克隆。因爲它是一個完整的應用程序,你可以找到你想要的東西。如果你想做更大的事情,試試Full Stack Python Flask教程