2017-05-03 43 views
0

指定的多個路由我發現我可以使用多個@view_config裝飾引起爲了處理一個以上的路線,像這樣:如何使用金字塔@view_defaults爲相同的觀點

@view_config(route_name = "user_create") 
@view_config(route_name = "user_edit") 
def handle_it(request): 
    pass 

但是,當我儘量做到與類裝飾同樣的事情,@view_defaults,這是行不通的:

@view_defaults(route_name = "user_create") 
@view_defaults(route_name = "user_edit") 
class Foo(object): 
    def __init__(self, request): 
     self.request = request 
    def handle_it(self): 
     pass 

在後一種情況下會發生什麼事是提到(user_create)第一路由是由金字塔榮幸,但請求user_edit路由會產生一個404錯誤。

不應該以這種方式使用@view_defaults嗎? 邁克爾

回答

1

view_defaults被用作每個view_config調用的輸入。它們不是替代品。路由唯一關心的是註冊的實際視圖,這是通過view_configconfig.add_view完成的。 view_defaults不註冊視圖。