Pyramid

时间:2016-09-11 16:49:50

标签: pyramid zope zope.component

我有

  • 定义视图的附加产品(“my_view”)
  • 使用此插件的应用程序

在应用程序启动期间,配置程序会扫描应用程序views.py

我的应用程序需要具有更具体的my_view版本,因为附加提供的通用my_view不知道应用程序特定的详细信息。什么是一个好的金字塔模式这样做,以便金字塔配置器没有冲突?我是否可以注册具有相同名称和上下文的视图IRequest或其他类似的内容?

1 个答案:

答案 0 :(得分:1)

如果你想覆盖一个视图,它通常会#34;只是工作"如果视图是在插件中定义的。

config.include('cool_addon')
config.add_view(...)

这是有效的,因为Pyramid会看到您的视图更接近应用程序的顶层,并且优先于cool_addon中定义的视图。如果由于某种原因无法实现这样的结构,那么蛮力方法是config.commit()旧配置,然后添加您的视图,此时它将覆盖旧配置。