2012-04-30 111 views
12

它看起來微不足道,但我無法找到有效解決此問題的答案。將不同的網址映射到相同的視圖

假設我有兩個不同的鏈接'/'和'/ home',我希望他們指向相同的視圖。 (這意味着用戶是否打開xyz.com或xyz.com/home,將顯示相同的頁面)。

在金字塔我試圖

config.add_route('home','/') 
config.add_route('home','home/') 

但它會引發以下異常

pyramid.exceptions.ConfigurationConflictError: Conflicting configuration actions 
    For: ('route', 'home') 

我應該如何真正實現這一點?

回答

21

您需要添加它們根據不同的路線名稱(必須是每個應用程序唯一的):

config.add_route('home','/') 
config.add_route('home1','home/') 

,然後配置上是相同的觀點:

config.add_view(yourview, route_name='home') 
config.add_view(yourview, route_name='home1') 

,或者在的情況下,使用@view_config裝修工,雙重裝飾您的方法:

@view_config(route_name='home') 
@view_config(route_name='home1') 
def your_method(request): 
    ..... 
相關問題