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