1. 如何用Python做Web開發
1.python入門
推薦老齊《從零開始學python》,《python簡明教程》,這兩本書很適合小白入門(像我一樣長期徘徊在編程門外的人)
2.python進階
推薦《python學習手冊》,python學習手冊的前半部分與在入門教程中的基礎部分相重復,後面部分對python的介紹更細致,比如面向對象的這部分對於小白理解相對容易。
還有一本《python cookbook》,這本是在講述python的經典用法,目前讀過函數,裝飾器以及網路編程這三部分,在不斷的敲玩具代碼的過程中,會發現書中講的例子不斷會出現。
3.學習web開發,自然要涉及到基於python的web 框架。
1)flask
flask如同官方所描述的那樣,是一個web微框架,用幾行代碼就可以實現一個在hello world,現在的個人感覺是flask確實適合新手入門。基於這個原則,
推薦《flask web 開發》這本書,這本書簡直是良心,講的很細,並且在github上有源碼,可以很容易跟著作者的步驟去學習,不懂得的地方可以去問谷歌或者qq群。
推薦的第二本是《building web applications with flask》這本書是對flask框架的細化,深入講解flask的模板,restful等等,雖然是英文,但是葉能順利閱讀下去
推薦的第三本是《flask Framework cookbook》,這三本書是一個不段進階的部分。
2)django
django是大而全,開箱即用,在flask了解的差不多的時候去了解,畢竟生成環境用的django相對多一點。
django學習可以看得書:(1)tango with django只有一個應用去學習,對於新手友好,可以比對github源碼
(2)django by example 注重實戰,有幾個實例,blog, shop etc,涉及django基礎,redis,celery,solr,ajax,很全面,也是web開發常用的技術
4.在學習框架的過程中,會不斷體會到前端的知識也是要補回來,可以w3c school看一下。
5.資料庫,在python中內置了sqlite, sql命令有相同之處,路線是sqlite, mysql, mongodb,有個逐漸過度的過程。
6.了解http的具體工作流程,這點目前還是有點模糊
7.工具集:sublime(需要配置,主要用於python編程,神器誰用誰知道), vim, firebug, firefox, linux,github(代碼大寶庫,各種代碼)
8.學習的過程覺得幾點很重要
1)做好筆記,同樣的問題會遇到第二次,有個筆記容易復查
2)善用谷歌,善用qq與論壇,你現在遇到的問題,大多數前人都遇到過,stackflow是個好地方
3)迷茫的時候還是堅持看,因為畢竟是小白,不懂的太多,你總要把他弄懂
4)有時間了可以把演算法與數據結構補起來
2. 北大青鳥昌平計算機學院分享怎樣學習web開發
目舉正前正在學習JAVAWEB開讓悶發(主要後台,有時間也會學習前端)。感覺現在很多WEB網站都只是展示性的,用戶主要活躍在移動APP上。不知道現在WEB開發還有什麼應用的前景?
我不想說為何python之正滑悔類的動態語言為什麼比javaweb好,北大青鳥昌平計算機學院就說說怎麼學好web開發。
我覺得ror也很好,如果可以我其實會推薦新手先用ror,但是ror的缺點在於「你找不到資料」,你能找到的所有資料都是過時的,因為它變化太快。
如果我能有時間寫一份stepbystepforror教程,那真是再好不過,但是我似乎沒有時間來做這件事,所以這里我們就說python。python有很多web框架,我認為flask拿來學習最好,你可以有不同意見,也可以去找你喜歡的,只要你能學好就行,找不到或者學失敗了你就回來從flask入手。
web有很多概念,python也有一些基礎知識要補,不懂就搜,搜不到就記下來暫時跳過
flask有一本書不錯,中文版在此:圖靈社區:圖書:FlaskWeb開發:基於Python的Web應用開發實戰
書學完後可以做個知乎、微博、博客之類的網站練練手,不會設計可以去找模板重點來了,把flask源代碼看懂。
3. 《FlaskWeb開發實戰入門、進階與原理解析》epub下載在線閱讀,求百度網盤雲資源
《Flask Web開發實戰》(李輝)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/127HL5PgAv78m68606GOYHQ
書名:Flask Web開發實戰
作者:李輝
豆瓣評分:8.9
出版社:機械工業出版社
出版年份:2018-8-1
頁數:704
內容簡介:這是一本面向Python程序員的,全面介紹Python Web框架Flask的書。關於本書的詳細介紹、相關資源等更多信息可以訪問本書的官方主頁http://helloflask.com/book了解。
• 國內首本Flask著作,在內容上涵蓋完整的Flask Web開發學習路徑,在實踐上包含完整的Flask Web程序開發流程。同時兼容Python2 .7和Python3.6。
• 內容最新,基於Flask 1.0.2版本,所有的Python庫、前端框架和JavaScript庫均使用最新版本。
• 內容全面,除了基礎知識,還包含Web API、全文搜索、國際化和本地化、第三方登錄、AJAX、WebSocket、源碼分析、擴展開發等實用內容。
• 實戰性強,包含8個示常式序,5個實戰項目和1個Flask擴展。實戰項目包括留言板、個人博客、圖片社交網站、待辦事項程序和聊天室,分別對應不同的知識點,難度遞增。
• 5個實戰項目的Git標簽經過精心設置,每個標簽都對應新增的某個程序功能。
全書所有章節均經過精心設計和編排,力求滿足不同水平讀者的需要,並且讓讀者可以循序漸進的掌握Flask開發知識和技巧。
• 通過豐富的圖表和代碼示例講解復雜知識點,盡量做到通俗易懂。
本書共16章,分為三部分。
第一部分 基礎篇(第1~6章)
通過大量的程序實例詳細介紹了Flask的所有基礎知識,同時在每章的後面又提供了一些進階技巧,供進階讀者學習。
第二部分 實戰篇(第7~11章)
通過5個真實的項目案例來串接和闡釋不同的知識點,難度逐漸遞增。這5個案例分別為:留言板SayHello、個人博客Bluelog、圖片社交網站Albumy、待辦事項程序Todoism和聊天室CatChat。
第三部分 進階篇(第12~16章)
首先介紹了Flask程序的部署流程:測試、性能優化和部署上線;然後通過一個真實的實例講解了Flask擴展的開發,最後以源代碼為切入點深入剖析了Flask的實現原理與主要工作機制。
作者簡介:李輝(Grey Li),Flask官方開發團隊(Pallets Team)成員,知乎專欄「Hello, Flask!」作者,HelloFlask.com網站創建者。對Flask有非常深入的研究,熟悉它的源代碼,有豐富的項目經驗。
他熱愛分享和創造,曾為Flask等多個開源項目貢獻過代碼,你可以在GitHub(github.com/greyli)上看到他的開源活動。在他的個人網站(greyli.com)上,你可以了解到關於他的更多信息。
4. python web開發用哪個框架比較好
(1)Django。Django的文檔最完善、市場佔有率最高、招聘職位最多估計大家都沒什麼意見。完美的文檔,Django的成功,我覺得很大一部分原因要歸功於Django近乎完美的官方文檔(包括Django book)。全套的解決方案,Django象Rails一樣,提供全套的解決方案(full-stack framework + batteries included),基本要什麼有什麼(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,開發網 站應手的工具Django基本都給你做好了,因此開發效率是不用說的,出了問題也算好找,不在你的代碼里就在Django的源碼里。
(2)Pylons和Django的設計理念完全不同,Pylons本身只有兩千行左右的Python代碼,不過它還附帶有一些幾乎就是Pylons御用 的第三方模塊。Pylons只提供一個架子和可選方案,你可以根據自己的喜好自由的選擇Template、ORM、form、auth等組件,系統高度可 定製。我們常說Python是一個膠水語言(glue language),那麼我們完全可以說Pylons就是一個用膠水語言設計的膠水框架。
(3)Tornado即是一個Web server(對此本文不作詳述),同時又是一個類web.py的micro-framework,作為框架Tornado的思想主要來源於Web.py,大家在Web.py的網站首頁也可以看到Tornado的大佬Bret Taylor的這么一段話(他這里說的FriendFeed用的框架跟Tornado可以看作是一個東西):
(4)Bottle和Flask作為新生一代Python框架的代表,挺有意思的是都採用了decorator的方式配置URL路由。
(5)Flask 精簡
(6)web.py 非常精簡
5. 使用flask開發的網站有哪些
Python 生態圈有兩個現象級的 Web 框架 Flask, Django.
兩個框架風格迥異, 但是都各自帶動了龐大的生態圈, 這得益於二者靈活的擴展能力.
本書講述的是基於 Flask 開發 Web 項目.
在對 Flask 框架的各個部分簡要分析後, 本書介紹了
* 表單處理(Flask-WTF)
* 持久化(Flask-SQLAlchemy, 這貨作者就是 Flask 的作者喲)
* 郵件
* 配置
* 一個真實案例: 模型, 用戶驗證, 角色, 關注, 寫template, 寫API
# 特點
* 線程局部變數
我不知道該把這個稱作特點還是缺點.
至少在Flask的文檔中作者明確給出這樣的解釋: 作為一個碼農, 你也許會感到不適, 但我就想這樣設計.
大部分的 Web 框架, 請求對象是外部注入的, 唯獨 Flask 選擇了全局 (flask.request, flask.g).
這個特點存在意味著你要小心使用這個特性, 否則很容易遇上需要調試大半天的Bug.
另外, request 不是那麼容易造出來的.
不過, 這不是什麼大不了的事情.
這個順便波及到測試, 測試的setup 與 teardown, 你必須去營造一個上下文, 關於這點, 書中有講解如何操作.
* Route/Template
框架的路由使用的是Werkzeug.
Template使用的是Jinja2, 當然不喜歡的話, 用別的也很簡單.
* 足夠小
Flask 只封裝了請求, 路由, 模板這么幾個功能.
用起來容易, 要寫好也得費點腦子漲點經驗才行.
說穿了也就是一句話:
> The idea of Flask is to build a good foundation for all applications.
> Everything else is up to you or extensions.
[Ref: What Flask is, What Flask is Not](http://flask.pocoo.org/docs/design/#what-flask-is-what-flask-is-not)
# 工作流
常規的三板斧: 開發, 測試, 部署.
書裡面的部署和配置這兩章節講的很出色, 值得一讀, 我給打五星.
# 插件
借用 @死魚眼28號 常說的一句話, 很多 Flask 插件都寫得很渣.
我表示 +1.
挑選插件時記得看下插件源碼, 給作者的碼力打個分再決定要不要用.
# 後記
關於 Web 開發, 我們的選擇有很多:
* PHP(Laravel, CodeIgniter, Yii, Symfony, CakePHP, etc.)
* Ruby(RoR, Sinatra, etc.)
* Python(Flask, Django, Quixote, Web.py, Bottle, etc.)
* Java/Scala(Spring, Play!, etc.)
殊途同歸, 他們也給出了幾乎一樣的解決方案.
我們可以看到大部分的 Web 項目都有著類似的目錄分類, 類似的架構.
Flask 也不外乎如此: 幫你包裝好請求對象, 剩下的路由, 路由邏輯, 響應內容你來填.
上面大部分框架從大學到工作或多或少使用過, 其實真正寫到業務層面時, 框架那些都不是事兒.
你想要的東西, 或框架自己造, 或慫恿隊友幫你造, 或你自己造, 總之基本上你總能拿到你要的信息.
不要被框架局限了視野喲.
6. Python 有哪些好的 Web 框架
python的web框架很多
django (大而全,模板,orm都自帶)
flask (pocoo出品,比屬精品,自帶jinja2模板,可以替換)
web.py (這個我沒用過,作者自殺,白瞎了一個高手)
bottle (只有一個文件的框架,需要自己構建整個開發體系)
uliweb (中國人開發的,也很不錯)
Tornado (非同步框架,適合長連接,比如在線聊天之類的)
Python框架雖然說是百花齊放,但仍然有那麼一家是最大的,它就是Django。Django為人所稱道的地方主要有:
①完美的文檔,Django的成功,我覺得很大一部分原因要歸功於Django近乎完美的官方文檔(包括Django book)。
②
全套的解決方案,Django象Rails一樣,提供全套的解決方案(full-stack framework + batteries
included),基本要什麼有什麼(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,開發網
站應手的工具Django基本都給你做好了,因此開發效率是不用說的,出了問題也算好找,不在你的代碼里就在Django的源碼里。
③強大的URL路由配置,Django讓你可以設計出非常優雅的URL,在Django里你基本可以跟醜陋的GET參數說拜拜。
④自助管理後台,admin interface是Django里比較吸引眼球的一項contrib,讓你幾乎不用寫一行代碼就擁有一個完整的後台管理界面。
7. python web開發用什麼框架
對初學者來說,循序漸進是最重要的,我推薦學習 Flask(Welcome | Flask (A Python Microframework))
Flask 很輕,花很少的成本就能夠開發一個簡單的網站。非常適合初學者學習。
Flask 框架學會以後,可以考慮學習插件的使用。例如使用 WTForm + Flask-WTForm 來驗證表單數據,用 SQLAlchemy + Flask-SQLAlchemy 來對你的資料庫進行控制。
BTW:果殼網基於 Flask 開發的。
另外也簡單介紹下其他框架:
1. Django。如樓上所說,是一個全能型框架。目前 Django 的使用面還是很廣的,有學習的價值,但是不建議初學者學習,因為要學習的東西太多了,一下子難以吸收會失去興趣。當然,Django 的目的是為了讓開發者能夠 快速 地開發一個網站,它提供了很多模塊,其中我最喜歡的就是 admin 模塊,http://your.site.com/admin 就進入了網站的後台(內置的哦~)方便地對數據進行操作,等等。。。。因此,如果對 Django 熟悉的話,papapa 一下子就寫好一個網站的原型了。
2. Tornado。傳說中性能高高的框架。Tornado 是一個很好的框架,支持非同步處理的功能,這是它的特點,其他框架不支持。另外一點是,Tornado 的設計似乎更注重 RESTful URL。但 Tornado 提供了網站基本需要使用的模塊外,剩下的則需要開發者自己進行擴展。例如資料庫操作,雖然內置了一個 database 的模塊(後來獨立出去了,現在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速開發起來還是挺吃力的。如果需要 ORM 支持的話,還需要自己寫一層將 SQLAlchemy 和 Tornado 聯系起來,而且這里還有一個坑。
BTW:知乎就是基礎 Tornado 開發的。
3. Bottle。Bottle 和 Flask 都屬於輕量級的 Web 框架。但是 Bottle 似乎落寞了。我覺得跟他的 API 設計有關系。個人認為 Bottle 使用起來不那麼順手,因此也用得少。這里不做太多介紹。
4. web.py。也是很輕的一個框架,使用不多,也不做介紹。
5. web2py。我看樓上都沒有對這個框架做介紹。這個框架是 Google 在 web.py 基礎上二次開發而來的,兼容 GAE 。性能據說很高,曾經用他來做自己的主頁,感覺也還不錯。缺點同樣是對擴展支持不太好,需要自己進行擴展。
6. Quixote。著名的 豆瓣 就是基於 Quixote 開發的。跟上面幾個框架不同,Quixote 的路由會有些特別。另外 Quixote 的性能據說也好。
8. python的web開發框架有哪些
1.CubicWeb
CubicWeb的最重要的功能是其代碼的可重用性,由一個個代碼單元組成。它靈活又強大,並且還有一些特別的功能,包括RQL查詢語言和支持有效編碼的語義視圖功能。這是語義Web應用程序的最佳解決方案,並且提供理想的環境。
2.TurboGears
TurboGears也稱為是框架的終結者,因為它雖然有著其他Python框架都有的功能,卻不像其他框架那樣有局限性。它甚至能適用於簡單的微架構項目。它給人的感覺就不像是工作在框架上,而像是在寫新的功能。你可以在幾分鍾之內可以創建一個read-to-extend應用,並且我們可以在網上找到大量的教程。
3.Zope2
Zope是不同Web框架集合在一起的完整家庭。與其他框架相比,zope2在當前的開發環境中對於內容管理系統是相當有限的。
Zope工具包是一個很好的庫資源,允許使用重用代碼和不同的庫。
4.web2py
web2py最重要的因素是其外部零依賴,可以創建、復原、管理和修改在瀏覽器中的應用程序。對於一些簡單的web開發任務,大部分都可以自動化快速開發。程序員甚至不需要再准備單一的開發、調試、測試、部署和資料庫處理的封裝包。內置的Web界面中這些都有,在使用之前也不需要進行安裝。
5.Pylons
靈活性是pylons框架的主要特點之一。它可以將不同Python框架提供的某些最好功能,整合到同一個地方。Pyramid是pylons的第一批產品之一,它把重點放在了快速和靈活開發實踐上。你可以挑選任何你認為可以提高Web開發效率的功能整合到一起。
6.Grok
它由Zope工具包提供支持,並且一開始的時候是作為一個易擴展的Zope工具箱,為了方便那些菜鳥程序員的使用而開發
的。對於Web應用,Grok不但能提供多個構件,還有一個隨時可以提供支持的很好社區。它提供了一種更為簡單和靈活的學習Python的模式。它配備的可DRY方法使得它成為了一個很好的工具。
7.Web.py
之所以說這是一款非常獨特的框架,主要是因為它的簡單性和功能強大的開發能力。你可以用Python語言舒舒服服地編寫web應用程序。你會因為它的零局限性和易用性喜歡上web.py。有些程序員可能會發現它對功能的限制比較少,因為它預留了整合的空間,所以你不必一下子載入所有的功能,尤其是那些你並不需要的。
關於框架選擇的誤區:
1.
哪個框架最好
2. 過分關注性能
9. Python 有哪些好的 Web 框架
Django, Pyramid, Bottle, Tornado, Flask, web2py.
具體介紹如下:
Django:開源Web開發框架,它鼓勵快速開發,並遵循MVC設計,開發周期短。
Tornado:一個輕量級的Web框架,內置非阻塞式伺服器,而且速度相當快
webpy:一個小巧靈活的Web框架,雖然簡單但是功能強大。
Flask:一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱採用 Werkzeug ,模板引擎則使用 Jinja2 。
Bottle:一個Python Web框架,整個框架只有一個文件,幾十K,卻自帶了路徑映射、模板、簡單的資料庫訪問等web框架組件,確實是個可用的框架。初學web開發可以拿來玩玩,其語法簡單,部署也很方便。