我是金字塔的新手,並創建了一個應用程序。我有一個包含類別表的數據庫。一個類別可能是紅色和綠色屬性的顏色,另一個類別可能是屬性4和5的大小。 我希望能夠創建如下所示的鏈接:domain.com/{category}。 所以我們假設我有兩個類別模板。一個是color.mak,一個是size.mak。我如何獲得它,所以domain.com/Red或domain.com/Green會渲染color.mak和domain.com/4或domain.com/5會渲染size.mak? 閱讀URL Dispatch和Traversal之間的區別之後,似乎Traversal會成爲我想要的首選,即使它可以以任何方式完成。我真正堅持的是如何將這些類別添加到我的資源樹中。在金字塔中,使用遍歷,如何創建動態URL?
4
A
回答
6
首先,你會希望你的根資源從__getitem__
返回不同的資源類型:
class Root(object):
def __getitem__(self, key):
if key in ['Red', 'Green']:
return ColorCategory(key)
elif key in ['4', '5']:
return SizeCategory(key)
class ColorCategory(object):
...
class SizeCategory(object):
...
然後在您的__init__.py,你要配置不同的資源類型不同的看法(又名上下文類型):
config.add_view('myapp.views.color',
context='myapp:resources.ColorCategory', name='',
renderer='myapp:templates/color.mak')
config.add_view('myapp.views.size',
context='myapp:resources.SizeCategory', name='',
renderer='myapp:templates/size.mak')
這將工作的方式是,當你得到一個特定的URL,穿越將查找特定上下文和視圖名稱。對於domain.com/Red,上下文將爲ColorCategory('Red')
(因爲這是Root資源返回的內容),並且視圖名稱將爲''
(因爲查找該上下文後該路徑完全消耗)。然後,金字塔將使用上下文類型和視圖名稱作爲過濾器來查找配置的視圖和模板。
相關問題
- 1. 金字塔遍歷問題
- 2. Python金字塔遍歷
- 3. 如何使用php創建金字塔?
- 4. 在金字塔的域模型遍歷中使用單例類
- 5. 沒有遍歷的金字塔ACL
- 6. Spotfire中創建金字塔
- 7. 金字塔遍歷和URL調度和羅茨別共
- 8. 金字塔遍歷資源URL沒有屬性__name__
- 9. 如何使用遍歷在金字塔中重定向404 NOTFOUND錯誤頁面?
- 10. 使用方法名稱的金字塔遍歷視圖查找
- 11. 在matlab中創建laplacian金字塔
- 12. 使用python,如何使用for循環創建金字塔?
- 13. 如何用mongodb在金字塔中創建unittest?
- 14. 創建通過使用任何瓶,金字塔,或瓶的動態重定向?
- 15. 將金字塔遍歷中的視圖前綴從「@@」更改爲「+」
- 16. 金字塔遍歷正在我的腦海裏
- 17. 金字塔遍歷HTTP PUT到不存在的URI
- 18. 在金字塔中使用金字塔認證
- 19. 金字塔:如何創建使用自定義調度程序?
- 20. 使用循環在Java中創建金字塔
- 21. 如何在金字塔1.4中創建自己的命令1.4
- 22. 如何在python中創建X的金字塔
- 23. 如何在金字塔
- 24. 如何創建一個在金字塔中使用的.pt文件
- 25. 如何使用Meteor創建動態URL?
- 26. 創建「馬里奧風格金字塔」
- 27. 嵌套循環創建金字塔
- 28. for循環的Java ...創建金字塔
- 29. 創建一個「金字塔」矩陣
- 30. 使用setw建立一個金字塔