Python語言動態WEB開發學習總結

一,語言, 學習python後,認爲一個好的動態語言應該,     虛擬機,一次編寫到處執行     泛類型,但不是無類型     OOP的實現(繼承,重載等等)     現代的,強大的詞法 語法 二,Web Framework或Web protocol, 作爲一個動態web程序框架,必須處理的有, URL Dispatch Form Process [POST GET處理] Session(Cookie) Http header 再高級點的還應有, Role management(authentication) DBMS(ORM) xML templates Cache 等等 三,CGI篇, 在學習CGI前,必須理解什麼是Web Browser, 什麼是Web Server. 以及他們之間的"語言"--http協議, 以及"會話"過程 早期,Web Browser只能從Web server那裏請求到事先編輯好的存放在Server機器上面的文字內容,圖片內容或文件,沒有現在Web browser發送不同內容的請求,更不會Web server相應這樣的請求. 後來,就有了active server page慾望,猜想教本語言誕生的原因是,實現對這種Browser端發過來的會變化的請求進行判斷後生成不同的html字串的動作不可能"硬"寫在Wb server程序裏面. 沒有考究過歷史是否曾經出現過許多這種功能的腳本語言,但是從現在僅存的主流的Web Server IIS, Apache, Tomcat來看(他們之間互相橋接,互通有無又是後話),主流的被這兩個Server程序支持的腳本也就是微軟的ASP和開源世界的PHP. 事情至此以後本該是平靜的日子,可要計算機技術這個世界永遠的變化就是技術間的不斷地分化,又不斷地融合. 只有Asp 和PHP能生產動態頁面的生產工作? C/C++ Pascal Fortran等這些"傳統"語言也都想, 所以 CGI誕生了. Common Gate interface #!/bin/sh echo Content-type: text/html echo "<HTML><HEAD>" echo "<TITLE>Is Laura There?</TITLE>" echo 看上面一段標準CGI代碼,設計思路基本就是將原本一次寫在html文件的字符,用編程語言的方式一句一句運行地輸出
四,WSGI, 時間到了2005年,之前Python通過CGI也成功地將自己融合到了web開發這個領域.但是Python使用者發現,他們開始愈來愈先在選擇合適的 組件,合適方式繼承先前代碼上面花費時間.車輪子一遍一遍地重造,整合一次一次進行. 是不是該在Python自己世界裏面來協議什麼的? 於是Phillip J. Eby提出了WSGI的初步概念,現在在PEP0333中看到是幾經修改的被追蹤確認的, WSGI allows coummunication between web servers and python web applications. WSGI描述了這樣兩種行爲, Web server調用application'提供'的function或callable object,傳入environ 和start_response          其中environ必須是python字典類型,裏面保函CGI式的環境變量 Application調用web server傳遞來的start_response, 傳入status和head list, 最後返回 字符list或 iterator          status是http狀態, head list爲; 返回string list是html的body classic codes, def application(environ,start_response) status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ['Hello word']
五,其他 最後所說,我碰到的,並從功能劃分的framework     --------------第一代 Karrigell --------------第二代 CherryPy   Quixote --------------第三代 (早期) TurboGears   Django    Pylons               第三代(中期) Uliweb   Web2py web.py MVC              WSGI               /|/             URL Dispatch      VIEW                      Model     View, cheetah kid mygth genshi ORM, SQLObject SQLAlchemy Control, web.py   cherrypy Route Paste
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章