2012-04-30 65 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): 
    ..... 
相关问题