Представление стиля Plone/Zope переопределяет в Пирамиде

Я имею

  • Дополнительный продукт, определяющий представление ("my_view")
  • Приложение, использующее этот аддон

Оба приложения views.py проверяются конфигуратором во время запуска приложения.

Мое приложение должно иметь более конкретную версию my_view, так как аддон предоставлен родовым my_view не знает о конкретных деталях приложения. Что было бы хорошим паттерном Pyramid для этого, чтобы у Pyramid Configurator не было конфликта? Могу ли я зарегистрировать представление с тем же именем и конкретным контекстом IRequest или что-то в этом роде?

1 ответ

Если вы хотите переопределить представление, оно обычно "просто работает", если представление было определено в дополнении.

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

Это работает, потому что Pyramid увидит, что ваше представление ближе к верхнему уровню приложения и имеет более высокий приоритет по сравнению с представлением, определенным в cool_addon. Если подобная структура не может быть достигнута по какой-либо причине, то метод грубой силы заключается в config.commit() старой конфигурации, а затем добавьте свое представление позже, после чего оно перезапишет старую конфигурацию.

Другие вопросы по тегам