本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7646379
建立时间:2006年5月29日




[TurboGears]深入 TurboGears - 多頁面的階層式網頁 (Multiple pages - Hierarchy)
软件技术

lhwork 发表于 2007/2/25 13:56:16

TurboGears 網頁階層的有兩類, 第一類是用"參數"來對應網頁階層, 第二類是用物件樹結構(即類別實體)來對應網頁階層. 1. 參數對應結構例如 http://localhost:8080/calcit/4/8"4", "8"會被分別當成 calcit 方法的第一,第二個參數傳入, 作用等同於http://localhost:8080/calcit?A=4&B=5如果calcit 方法不存在, 即連結資料夾名稱沒有對應到方法的話, 就會被當成參數傳到最近物件的 default()中當作參數 (在本例為 TurboGears 預設建立的 Root 物件).2. 物件樹結構另外三種情形都是用物件樹結構的"類別實體"(instance) 來對應網頁階層. 可以實現超過一層的網頁. TurboGears 中會自動建立 Root 類別的實體, 我們可以建立其他的類別, 然後在 Root 類別中建立其他相關類別的實體.(恩...要把這個概念寫成文字真不容易) 範例如下:CASE1: controllers.py 內在 controllers.py 內編寫多個類別(class)0 from turbogears import controllers,expose12 class Subfolder(controllers.RootController):3 @expose()4 def index(self):5 return "I am B"6 @expose()7 def C(self):8 return "I am C"910 class Root(controllers.RootController):11 @expose()12 def index(self):13 return "I am Root"14 @expose()15 def A(self):16 return "I am A"17 B = Subfolder()我們在 2~8 行編寫了一個類別, 在 Root 類別內第 17 行建立該類別的實體, 最後我們會得到像下面的網頁階層樹 Root / A B C網頁 localhost/ 跟網頁 localhost/B 的文字是由各自類別的 index() 方法來處理.CASE2: controllers.py 外 (同目錄):將 Subfolder 類別存成 subfolder.py , 保存在與 controllers.py 同目錄下. subfolder.py 內容如下:0 from turbogears import controllers,expose12 class Subfolder(controllers.RootController):3 @expose()4 def index(self):5 return "I am B"6 @expose()7 def C(self):8 return "I am C"TurboGears 可以從 controllers.py 內調用同目錄下的其他類別from subfolder import Subfolderfrom turbogears import controllers,exposeclass Root(controllers.RootController): @expose() def index(self): return "Root" @expose() def A(self): return "I am A" B = Subfolder()"from subfolder import Subfolder" 前面小寫的"subfolder"是檔名 (subfolder.py), 後面的 Subfolder 是類別名CASE3: 子目錄下 (子系統)TurboGears 也可以從 controllers.py 內調用子目錄下的其他類別(待補)


阅读全文(3792) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 1.313 second(s), page refreshed 144800333 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号