Представление стиля 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()
старой конфигурации, а затем добавьте свое представление позже, после чего оно перезапишет старую конфигурацию.