Python的Web框架 Uliweb
Uliweb是一個新的Python Web Framework,它之所以會產生是因為現有的框架多少有些令人不滿意的地方,而且許多情況下這些不滿意的地方或多或少對于Web開發有影響,因此在經 過對不少框架的學習之后,我決定開發一個新的框架,希望可以綜合我認為其它框架中盡可能多的優點,同時使這個新的框架盡可能的簡單,易于上手和使用。不過 這個框架目前主要還是一個人在做,并且是業余在做,所以在進度上相對要慢一些。
Uliweb并不是一個從頭開始的框架,它使用了一些較為成熟的庫,如:用來進行命令行、URL映射、Debug等核心處理的Werkzeug; 用來生成和處理請求、響應對象的webob;強大的ORM庫SqlAlchemy等等。Uliweb在開發 中還借鑒了象web2py的 Template模板模塊,Django的一些設計思想和成果。
Uliweb是采用類Django的MVT的模型,整個項目將由若干個相對獨立的app構成,每個app將有自已的配置文件,templates目 錄,static目錄等。URL可以自動映射也可以手動映射。模板中可以直接嵌入Python代碼,但是你不需要關心代碼的縮近,只要注意在塊結束前加上 pass語句。對數據庫的處理使用ORM的方式進行處理,同時你還可以直接使用底層的SQLAlchemy模塊。支持代碼和模板中的i18n的處理。 Uliweb還從Ulipad中移植了Plugin機制,可以方便地在框架中添加用戶特殊的處理。通過提供的命令行工具可以執行象啟動開發服務器,導出源 代碼等操作。現在Uliweb可以在GAE,mod_wsgi,fastcgi,scgi,cgi等多種環境下部署。
除此之外,Uliweb框架中包含眾多自有的創新,如可用來生成HTML代碼和對上傳的數據進行校驗的Form處理,包括對模板和頁面的i18n處理,框 架處理代碼,從Ulipad中移植并進行了改造的插件機制。
值得一提的是,Uliweb框架中將開發自己的ORM 機制Uliorm,Uliorm在SqlAlchemy基礎之上進行封裝,同時參考了GAE中datastore的代碼。