Найти - Пользователи
Полная версия: Plugins system organization
Начало » Python для новичков » Plugins system organization
1
mikey

Всем привет ! Я делаю свою систему управления контента для локальных потребностей фирмы где работаю. Использую Flask в качестве основы. Сейчас я сделал 3 основных компонента: странички, галерея и комментарии. Но так уже сложилось что например админам нужны только странички, HR хочет галерею но без комментариев, а тестерам нужно все.

Я придумал возможное решение: в настройках создал вкладку Плагины где можно будет включать или выключать плагины. А на сервере думаю это организовать так: создать пустой пакет plugins, и складывать туда со временем плагины(другие питоновские модули). И вот тут я застрял: не могу додуматься как мне импортировать плагин, так что-бы я его потом мог использовать с другими частями Flask'a (Flask-Admin, Flask-Login, etc.).
bw
Смотри как организуются дистрибутив в Python (distutils/setuptools/distribute) и в них обрати внимание на entry-points. Таким образом, каждый плангин организуется как дистрибутив Python (distutils в батарейках, setuptools/distribute расширяют его и без них сейчас практически никуда, т.е. тоже можно считать неотъемлемой частью любой инсталляции Python) состоящий минимум из: собственно, модуля-плагина и setup.py (наверное даже без модуля можно обойтись :-). Кроме естественного, существует ещё 100500 способов как развернуть такой пакет, для вдохновения можешь посмотреть buildout.

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB