版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Uliweb-快速易用的
PythonWebFrameworkLimodou(limodou@)2009年8月16日Uliweb-快速易用的
PythonWebFramew1內(nèi)容提要說說那過去的事Web開發(fā)那些事?lián)茉埔娙罩赜眯允荖o.1方便、還是方便層次不足示例展望資源Q&A內(nèi)容提要說說那過去的事2說說那過去的事我的Python經(jīng)歷:最早是PHP,后來是Zope,然后是CherryPy,Karrigell,Django,Web2py。TurboGears,Pylons了解一點,沒有真正用過。牢騷:Django:模板(功能及配置),URL,APP的重用不夠,DRY的矛盾哲學(python-cn郵件列表的大討論)Web2py:模板,URL,APP的重用,向前兼容的哲學說說那過去的事我的Python經(jīng)歷:最早是PHP,后來是Zo3Web開發(fā)那些事簡單的Web開發(fā),做網(wǎng)站復雜的Web開發(fā),做應用主要功能:Request和Response的處理模板URL映射數(shù)據(jù)加工:ORM,文本,靜態(tài)文件,其它部署其它功能:用戶認證(配置文件,數(shù)據(jù)庫,LDAP,OpenID等)用戶定制(Theme,布局,插件,管理)APIAjax桌面化與其它應用集成Web開發(fā)那些事簡單的Web開發(fā),做網(wǎng)站4為什么有這么多的框架?哲學不同每一種框架代表一種哲學,一種思維方式,一種使用習慣有許多的模塊可以完成組成Web框架的不同功能,使得構(gòu)建框架變得相對容易框架之間的差異一方面是功能,組件的差異,但更重要的是哲學,思維,習慣的差異為什么有這么多的框架?哲學不同5撥云見日MVT型框架模板自動關(guān)聯(lián)(web2py-like)Middleware,WSGI-Middleware支持擴展的Web2py模板(支持tag擴展,Django-likeBlock)更完全的APP重用APP級別配置文件(settings.ini)靜態(tài)文件,模板定位APP管理功能Hook系統(tǒng)簡單的URL映射通用功能:開發(fā)服務器(自動重啟),i18n支持,靜態(tài)文件支持,命令行工具,Debug頁面,簡單的Admin撥云見日MVT型框架6重用性是No.1可重用元素:模板、View、靜態(tài)文件、Model、Form…AppUliweb中的App可以是任何東西:模板,View,靜態(tài)文件,配置參數(shù)。模板和靜態(tài)文件可以做為一個整體來使用獨特的App的依賴處理機制(config.ini)所做努力:模板的搜索靜態(tài)文件的處理settings.ini的合并重用性是No.1可重用元素:模板、View、靜態(tài)文件、Mod7DjangoAPP的不足不支持APP級別的靜態(tài)文件沒有APP級別的配置文件只能共享Model,ViewDjangoAPP的不足不支持APP級別的靜態(tài)文件8Web2pyAPP的不足APP是Application級別的共享,很難實現(xiàn)代碼級別共享,是運行和部署的最小單位Uliweb和Django的是開發(fā)的最小單位Web2pyAPP的不足APP是Application級別9方便、還是方便.Web2py-likeview函數(shù):@expose(‘/index’)defindex():printrequestreturn{}模板自動套用,必須返回一個dict對象內(nèi)置一些全局變量和web2py類似,如:request,responseexpose()來實現(xiàn)URL與view函數(shù)的映射。url_for(func_name)可以反向得到view對應的URL減少了不必要的import方便、還是方便.Web2py-likeview函數(shù):10方便、還是方便..Web2py-likeTemplate可以直接嵌入Python代碼,不需要考慮縮近,但在結(jié)束時要使用{{pass}}支持Python代碼與HTML代碼混合支持django-likeblock功能支持自定義tag方便、還是方便..Web2py-likeTemplate11方便、還是方便…簡單的URL映射,使用expose()@expose(‘/static/<path:filename>’)@expose(‘/archieve/<int:year>/<int:mon>’)@expose(‘/user/<username>’)@expose(‘/page’,default={‘pageno’:1})REST:@expose(‘/view’,methods=[‘GET’])類urls.py的使用方式方便、還是方便…簡單的URL映射,使用expose()12配置管理Settings.ini(類ini,Python語法)Django使用settings.py,不方便程序處理Web2py講究0配置配置管理Settings.ini(類ini,Python語法13Admin界面Admin界面14層次Uliweb是一個相對基礎(chǔ)的框架簡單的應用可以基于Uliweb直接進行開發(fā)復雜的開發(fā)應該是在Uliweb上的定制,以此為基礎(chǔ)進行二次開發(fā)平臺維護人員應用開發(fā)人員層次Uliweb是一個相對基礎(chǔ)的框架15造輪之路-造你的輪,讓別人說去吧喜歡對原模塊改動太大不被人接受響應太慢有更好的實現(xiàn)更容易了解細節(jié),真正掌握學習主義者(不是拿來主義)造輪之路-造你的輪,讓別人說去吧喜歡16Uliweb中的“輪子”Ini處理 pyini模板處理 templateLockfile weto/lockfileSession wetoORM ormForm formI18n i18nUliweb中的“輪子”Ini處理 pyini17App介紹AdminSessionCacheOrmTemplate(內(nèi)容動態(tài)組裝)StaticfilesUploadAuthi18nApp介紹Admin18不足ORM還不完善,相關(guān)的數(shù)據(jù)庫重建,遷移等性能沒有經(jīng)過驗性沒有Killer的應用用戶少不足ORM還不完善,相關(guān)的數(shù)據(jù)庫重建,遷移等19命令行makeprojectmakeapprunserverrunadmin命令收集系統(tǒng)app/commandscall<command>i18nexportstatic命令行makeproject20示例Hello,UliwebUserman(uliweb-tests中)GuestBook(uliweb-tests中)示例Hello,Uliweb21展望基于Uliweb的CMS二次開發(fā)系統(tǒng),加入常見的應用元素Uliweb的app更方便的發(fā)布與安裝發(fā)布正式的Uliweb版本豐富而準確的文檔展望基于Uliweb的CMS二次開發(fā)系統(tǒng),加入常見的應用元素22資源資源23Q&A請大家提問。Q&A請大家提問。24Uliweb-快速易用的
PythonWebFrameworkLimodou(limodou@)2009年8月16日Uliweb-快速易用的
PythonWebFramew25內(nèi)容提要說說那過去的事Web開發(fā)那些事?lián)茉埔娙罩赜眯允荖o.1方便、還是方便層次不足示例展望資源Q&A內(nèi)容提要說說那過去的事26說說那過去的事我的Python經(jīng)歷:最早是PHP,后來是Zope,然后是CherryPy,Karrigell,Django,Web2py。TurboGears,Pylons了解一點,沒有真正用過。牢騷:Django:模板(功能及配置),URL,APP的重用不夠,DRY的矛盾哲學(python-cn郵件列表的大討論)Web2py:模板,URL,APP的重用,向前兼容的哲學說說那過去的事我的Python經(jīng)歷:最早是PHP,后來是Zo27Web開發(fā)那些事簡單的Web開發(fā),做網(wǎng)站復雜的Web開發(fā),做應用主要功能:Request和Response的處理模板URL映射數(shù)據(jù)加工:ORM,文本,靜態(tài)文件,其它部署其它功能:用戶認證(配置文件,數(shù)據(jù)庫,LDAP,OpenID等)用戶定制(Theme,布局,插件,管理)APIAjax桌面化與其它應用集成Web開發(fā)那些事簡單的Web開發(fā),做網(wǎng)站28為什么有這么多的框架?哲學不同每一種框架代表一種哲學,一種思維方式,一種使用習慣有許多的模塊可以完成組成Web框架的不同功能,使得構(gòu)建框架變得相對容易框架之間的差異一方面是功能,組件的差異,但更重要的是哲學,思維,習慣的差異為什么有這么多的框架?哲學不同29撥云見日MVT型框架模板自動關(guān)聯(lián)(web2py-like)Middleware,WSGI-Middleware支持擴展的Web2py模板(支持tag擴展,Django-likeBlock)更完全的APP重用APP級別配置文件(settings.ini)靜態(tài)文件,模板定位APP管理功能Hook系統(tǒng)簡單的URL映射通用功能:開發(fā)服務器(自動重啟),i18n支持,靜態(tài)文件支持,命令行工具,Debug頁面,簡單的Admin撥云見日MVT型框架30重用性是No.1可重用元素:模板、View、靜態(tài)文件、Model、Form…AppUliweb中的App可以是任何東西:模板,View,靜態(tài)文件,配置參數(shù)。模板和靜態(tài)文件可以做為一個整體來使用獨特的App的依賴處理機制(config.ini)所做努力:模板的搜索靜態(tài)文件的處理settings.ini的合并重用性是No.1可重用元素:模板、View、靜態(tài)文件、Mod31DjangoAPP的不足不支持APP級別的靜態(tài)文件沒有APP級別的配置文件只能共享Model,ViewDjangoAPP的不足不支持APP級別的靜態(tài)文件32Web2pyAPP的不足APP是Application級別的共享,很難實現(xiàn)代碼級別共享,是運行和部署的最小單位Uliweb和Django的是開發(fā)的最小單位Web2pyAPP的不足APP是Application級別33方便、還是方便.Web2py-likeview函數(shù):@expose(‘/index’)defindex():printrequestreturn{}模板自動套用,必須返回一個dict對象內(nèi)置一些全局變量和web2py類似,如:request,responseexpose()來實現(xiàn)URL與view函數(shù)的映射。url_for(func_name)可以反向得到view對應的URL減少了不必要的import方便、還是方便.Web2py-likeview函數(shù):34方便、還是方便..Web2py-likeTemplate可以直接嵌入Python代碼,不需要考慮縮近,但在結(jié)束時要使用{{pass}}支持Python代碼與HTML代碼混合支持django-likeblock功能支持自定義tag方便、還是方便..Web2py-likeTemplate35方便、還是方便…簡單的URL映射,使用expose()@expose(‘/static/<path:filename>’)@expose(‘/archieve/<int:year>/<int:mon>’)@expose(‘/user/<username>’)@expose(‘/page’,default={‘pageno’:1})REST:@expose(‘/view’,methods=[‘GET’])類urls.py的使用方式方便、還是方便…簡單的URL映射,使用expose()36配置管理Settings.ini(類ini,Python語法)Django使用settings.py,不方便程序處理Web2py講究0配置配置管理Settings.ini(類ini,Python語法37Admin界面Admin界面38層次Uliweb是一個相對基礎(chǔ)的框架簡單的應用可以基于Uliweb直接進行開發(fā)復雜的開發(fā)應該是在Uliweb上的定制,以此為基礎(chǔ)進行二次開發(fā)平臺維護人員應用開發(fā)人員層次Uliweb是一個相對基礎(chǔ)的框架39造輪之路-造你的輪,讓別人說去吧喜歡對原模塊改動太大不被人接受響應太慢有更好的實現(xiàn)更容易了解細節(jié),真正掌握學習主義者(不是拿來主義)造輪之路-造你的輪,讓別人說去吧喜歡40Uliweb中的“輪子”Ini處理 pyin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年來賓道路客運輸從業(yè)資格證考試真題保過
- 2024年客運從業(yè)資格證考試題目和答案解析
- 2024年晉中資格證客運題庫
- 2024年景德鎮(zhèn)客運從業(yè)資格證考試模擬考試
- 2023屆新高考化學選考一輪總復習學案-熱點1 離子方程式的正誤判斷
- 2024年廣州海珠區(qū)住宅裝修工程合同
- 2024年建筑工程合同詳解版
- 《第八單元 世界經(jīng)濟的全球化趨勢》試卷及答案-高中歷史必修2-人教版-2024-2025學年
- 不同埋深下盾構(gòu)輸水隧洞預應力雙層襯砌模型試驗
- 提升泵站施工組織設(shè)計方案
- 通信行業(yè)銷售人員銷售技巧培訓
- 2024建筑門窗安裝技術(shù)規(guī)程
- 降低會陰側(cè)切率的PDCA
- 第二篇創(chuàng)業(yè)機會的識別課件
- 2023年江蘇省無錫錫山區(qū)市場監(jiān)督管理局招聘11人筆試參考題庫(共500題)答案詳解版
- 《危機概述》課件
- 浙江省寧波市鎮(zhèn)海區(qū)蛟川書院2023-2024學年九年級上學期期中科學試卷
- 54設(shè)計和開發(fā)驗證記錄表
- 2023年新改版教科版四年級上冊科學期中測試卷 (超全)
- 二上【教學】《我們不亂扔》
- 研發(fā)流程(EVT-DVT-PVT-MP)實用文檔
評論
0/150
提交評論