Python Web 開發(fā)框架
我需要一種快速開發(fā)語言,目前炙手可熱的快速開發(fā)語言就是Python和Ruby了。我想學(xué)習(xí)Pyton,很大程度受
豆瓣和
limodou的影響,據(jù)阿北介紹,
python語言,功能強(qiáng)大,開發(fā)效率高,平臺移植性好,可擴(kuò)展性好,很適合小型的團(tuán)隊(duì)作戰(zhàn),他的語法采用縮進(jìn)形式編寫,比較簡單,容易上手,并且目前Web 開發(fā)框架很多,可以直接運(yùn)用,所
以優(yōu)先考慮了他,當(dāng)我開始想使用并想用他來開發(fā)產(chǎn)品的時(shí)候,我開始有些迷茫,按照一些Python使用的人介紹,他是是一種相對來說比較容易上手的語言,
但是當(dāng)我接觸時(shí),就被茫茫的開發(fā)框架所困惑,這到底這個(gè)什么咚咚,目前還沒開始研究代碼,那些類似的編程的代碼要研究也需要數(shù)月,這倒不是我怕,現(xiàn)在當(dāng)務(wù)
之急是弄明白這些所謂的框架,那些環(huán)境的設(shè)置搞的我一頭霧水,為什么每裝一個(gè)框架,就需要一個(gè)運(yùn)行環(huán)境,難道不能整合在一起?可能還不是很清楚
python 的運(yùn)行情況~
我簡單下了幾種框架,有些很容易就運(yùn)行了,可有些運(yùn)行了半天也沒弄明白,目前我研究的幾種是
Snakelets、Karrigell、Quixote、Django四種,其中
Snakelets和
Karrigell我已經(jīng)裝成功了,裝成功的原因不是厲害,而是本身他封裝的比較好,我一解壓就可以運(yùn)行,對于
Django,我今天一天都在調(diào)他的運(yùn)行環(huán)境,但是還是以失敗告終,其實(shí)我目前最感興趣就是他的,個(gè)人感覺他還是比較適合我學(xué)習(xí),比較和我的口味,目前
limodou,也寫了相對比較多的教程,其中有一些還是可以很適合入門的,但是沒調(diào)試成功,郁悶啊
![[sad]](http://www.onling.net/blog/styles/onling/images/smilies/icon_sad.gif)
,Quixote,中文名是堂吉訶德,這個(gè)我喜歡,是因?yàn)樗?豆瓣 的主要?jiǎng)恿ο到y(tǒng)! 但是也還沒弄明白他什么工作,明天繼續(xù)研究~
把我關(guān)注的幾種Web 開發(fā)框架簡單匯總一下,等有經(jīng)驗(yàn)了再做具體比較:
1.SnakeletsSnakelets
是一個(gè) Python 編寫的web server,從我了解的j幾種 web framework
來講,我認(rèn)為snakelet功能似乎更強(qiáng),它是一個(gè)象servlet的一個(gè)東西,許多東西已經(jīng)做好了,象模板,用戶認(rèn)證(提供多種方式)等,看了那個(gè)
Frog,我還是很喜歡他的,小研究了一下他的代碼,發(fā)現(xiàn)實(shí)在有點(diǎn)復(fù)雜,不容易明白,目前沒有一個(gè)合適的入門教材,而且本身有些復(fù)雜,所以處于放棄狀態(tài)~
2.DjangoDjango是一個(gè)高級 Python web framework,它鼓勵(lì)快速開發(fā)和干凈的、MVC設(shè)計(jì)。它包括一個(gè)模板系統(tǒng),對象相關(guān)的映射和用于動態(tài)創(chuàng)建管理界面的框架。
他沒發(fā)布之前就已經(jīng)吸引了不少人了, 比以前的,更加注重整體設(shè)計(jì)
特性介紹:對象相關(guān)的映射 完全在Python中定義你的數(shù)據(jù)模型。你可以免費(fèi)得到一個(gè)豐富的,動態(tài)訪問數(shù)據(jù)庫的API--但如果需要你仍然可以寫SQL語句。
URL 分發(fā) URL的設(shè)計(jì)漂亮,cruft-free,沒有框架的特定限定。象你喜歡的一樣靈活。
模版系統(tǒng)
使用DjanGo強(qiáng)大而可擴(kuò)展的模板語言來分隔設(shè)計(jì)、內(nèi)容和Python代碼。
Cache系統(tǒng) 可以掛在內(nèi)存緩沖或其它的框架實(shí)現(xiàn)超級緩沖 -- 實(shí)現(xiàn)你所需要的粒度。
自動化的管理界面
不需要你花大量的工作來創(chuàng)建人員管理和更新內(nèi)容的接界。DjanGo可以自動完成。
支持多種數(shù)據(jù)庫 已經(jīng)支持Postgresql, MySql, Sqlite3
我傾向使用他,但是很遺憾沒調(diào)試成功~
3.Karrigell作
為簡單web開發(fā)解決, Karrigell已經(jīng)包含了web服務(wù),Python 腳本引擎,和 100% 純Python的數(shù)據(jù)庫:
KirbyBase ; 你所要關(guān)心的就是創(chuàng)建自個(gè)兒的動態(tài)web 應(yīng)用.
這個(gè)是我目前主要研究的對象,因?yàn)镈janGo沒有運(yùn)行成功,而據(jù)介紹Karrigell也是一個(gè)非常優(yōu)秀的 web framework
框架.現(xiàn)在環(huán)境設(shè)置成功了,如果可以,就可以開始入門學(xué)習(xí)了~
karrigell是利用mod_python與
apache集成,不需要再運(yùn)行自已的server,Karrigell不需要掛接處理。寫一個(gè).py, .hip,
.pih,.ks都是可以的。.py就是普通的python程序,print的結(jié)果會作為結(jié)果輸出。.hip就是Html in Python
,與.py有些象,但在 Python 頂層可以直接以字符串形式寫html的代碼。.pih就是Python in Html,與其它的
Python Html 模板很象,就是在 Html 模板中嵌入 Python 程序。使用<%
%>來包括。.ks就是Karrigell Service,它與 CherryPy
中的方法發(fā)布有些象,但不用設(shè)置哪個(gè)方法需要發(fā)布,也不是類的寫法,只是函數(shù)的寫法。
4.Quixote快速進(jìn)入 無畏的騎士! 豆瓣 的主要?jiǎng)恿ο到y(tǒng)!正因?yàn)檫@個(gè),我對他的關(guān)注也多了很多~
這個(gè)框架目前國內(nèi)使用的人不多,但是豆瓣正是使用了他而成功的,目前這個(gè)框架我還沒開始嘗試
下面有一些資料可以幫你了解他~
http://quixote.ca/http://www.mems-exchange.org/software/quixote/apps.html其實(shí)Python的Web 開發(fā)框架還有很多,象TurboGears ,但我目前接觸的比較多的就這幾個(gè),其他的在
啄木鳥社區(qū)還有很多介紹,感興趣的,可以自己去看看,也歡迎大家能推薦一些比較好用的Web 開發(fā)框架介紹,和使用經(jīng)驗(yàn),共同體驗(yàn)python的開發(fā)樂趣~