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')

我应该如何实际实现这一点?

4

1 回答 1

24

您需要以不同的路由名称添加它们(每个应用程序它们必须是唯一的):

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):
   ..... 
于 2012-04-30T12:37:47.463 回答