Я получил несколько советов о том, как создать систему плагинов для моего проекта django. Я создаю простую CMS, но хочу, чтобы она была расширяемой.
В идеале мне нужен подход, который позволит людям создавать плагины, расширяющие функциональность моего проекта.
У меня есть два основных типа плагинов;
Плагин данных: например, плагин данных может быть плагином "блог", который добавит функциональность ведения блогов в мою CMS.
Плагин Decorator: этот тип плагина добавит функциональность существующим приложениям, возможно, даже не подозревая об этом. Примером может служить плагин TinyMCE, который заменяет все текстовые поля на многофункциональный редактор TinyMCE.
Я видел оба http://martyalchin.com/2008/jan/10/simple-plugin-framework/, но я не уверен, соответствует ли это моим требованиям?
Я также хочу учитывать шаблоны при определении моей системы плагинов. Так что я имею в виду, что когда кто-то создает плагин, мне нужен подход, который позволит плагинам появляться в назначенных контейнерах внутри основного шаблона.
Я смотрел на http://code.google.com/p/django-app-plugins/, но мне было интересно, есть ли другие подходы, которые люди предложили бы мне рассмотреть / рассмотреть?
Я понимаю, что это очень академично, но у меня просто не было большого успеха в поиске подходов, с которыми мне удобно работать, поэтому я был бы признателен за любой совет, который может быть предложен
Спасибо
Jamie