шаблоны проектирования плагинов Django - PullRequest
6 голосов
/ 28 июля 2011

Я получил несколько советов о том, как создать систему плагинов для моего проекта django. Я создаю простую CMS, но хочу, чтобы она была расширяемой.

В идеале мне нужен подход, который позволит людям создавать плагины, расширяющие функциональность моего проекта.

У меня есть два основных типа плагинов;

Плагин данных: например, плагин данных может быть плагином "блог", который добавит функциональность ведения блогов в мою CMS.

Плагин Decorator: этот тип плагина добавит функциональность существующим приложениям, возможно, даже не подозревая об этом. Примером может служить плагин TinyMCE, который заменяет все текстовые поля на многофункциональный редактор TinyMCE.

Я видел оба http://martyalchin.com/2008/jan/10/simple-plugin-framework/, но я не уверен, соответствует ли это моим требованиям?

Я также хочу учитывать шаблоны при определении моей системы плагинов. Так что я имею в виду, что когда кто-то создает плагин, мне нужен подход, который позволит плагинам появляться в назначенных контейнерах внутри основного шаблона.

Я смотрел на http://code.google.com/p/django-app-plugins/, но мне было интересно, есть ли другие подходы, которые люди предложили бы мне рассмотреть / рассмотреть?

Я понимаю, что это очень академично, но у меня просто не было большого успеха в поиске подходов, с которыми мне удобно работать, поэтому я был бы признателен за любой совет, который может быть предложен

Спасибо

Jamie

1 Ответ

2 голосов
/ 28 июля 2011

Я бы рекомендовал использовать что-то вроде этого: простые плагины .Как вы уже сказали, особенно для плагинов, они должны быть адаптированы к вашим потребностям.Поэтому вы можете изменить его просто, поскольку объясняется, почему он был разработан таким, каким он был.

Насколько я знаю, Django-app-plugins активно не разрабатывается.В конце концов, вы все равно напишите и измените его.Так почему бы не прыгнуть прямо. К сожалению, я не знаю других рамок для этого.Я надеюсь, что это все еще немного помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...