Найти - Пользователи
Полная версия: Pyramid: Добавление расширений, библиотек, сниппетов и т д.
Начало » Pyramid / Pylons / TurboGears » Pyramid: Добавление расширений, библиотек, сниппетов и т д.
1
lightarhont
Кто может толком объяснить, как устанавливать дополнения в pyramid.
Нечто такое высокоуровневое… Например, мне часто требуется ‘система комментариев’, блог, тэги можно писать самому, а это довольно сложная задача, что-бы каждый раз её делать. Кроме того, разработка подобного расширения в среде PHP в своё время, показала, что сразу не продумаешь все детали. Лишь в процессе длительного тестирования.
Я слышал об tweens в pyramid, но не совсем понял что это такое…
И ещё слышал об поддержке Zope для пирамиды, сразу поднимается вопрос реально ли установить эту систему комменатриев(http://wiki.python.su/%D0%9F%D0%B0%D0%BA%D0%B5%D1%82%D1%8B/ZopePlone/PloneComments)?

Т.е. некие батарейки как в Django. Как их создавать и где их брать, даже с той целью если написать самому систему комменатриев и сделать её дополнением.
bismigalis
расширения ищутся так

1. идёшь на pypi.python.org
2. забиваешь в окошко поиска pyramid
3. PROFIT

tweens это обертка для приложения в которой ты можешь что-то сделать с запросом и/или ответом.

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

т.е.
где то в твоем приложении
config.include('my_plugin')

где то в твоем плугине
def includeme(config):
    config.add_view(...
    config.add_tween(...
lightarhont
А kotti, ptah расширения подходят для piramid?
По идее kotti на pyramid 1.4 написан.
bismigalis
Смотри по коментам, наваять одну модельку, формочку не проблема, но коменты подразумевают еще и управление ими и т.д., т.е. нужна некая админка + набор соглашений по разным моментам.

pyramid это именно веб фреймворк, набор абстракций над HTTP + конфиг система.
т.е. нужно что то более выскоуровневое, куда можно вплагинится.
я в свое время искал что-то такое, ты смотрю тоже на этом пути.
Django меня не вперла, тебя смотрю тоже.

я смотрел и ptah и Kotti ( а еще substanced)
В итоге решил пилить свое CMF поглядывая в код этих штук.

Везде идея одна. Определяешь контент тайп, у тебя появляется CRUD.
А дальше наворачиваешь вьюх. Но есть детали.

To be continued…



lightarhont
bismigalis
Смотри по коментам, наваять одну модельку, формочку не проблема, но коменты подразумевают еще и управление ими и т.д., т.е. нужна некая админка + набор соглашений по разным моментам.pyramid это именно веб фреймворк, набор абстракций над HTTP + конфиг система.т.е. нужно что то более выскоуровневое, куда можно вплагинится.я в свое время искал что-то такое, ты смотрю тоже на этом пути.Django меня не вперла, тебя смотрю тоже.я смотрел и ptah и Kotti ( а еще substanced)В итоге решил пилить свое CMF поглядывая в код этих штук.Везде идея одна. Определяешь контент тайп, у тебя появляется CRUD.А дальше наворачиваешь вьюх. Но есть детали.To be continued…
В том то и дело, что админку я уже частично написал… В том, числе для управления пользователями и ролями. А также загрузку аваторов пользователям с обрезкой как в vk.com.
Писать самому вроде бы и не сложно, но на это уходит куча времени. Кроме того нужно протестировать приложение.
Нужны некие эффективные наработки, пусть и на другом шаблонизаторе(Mako например). Даже может быть на PHP(в конце концов я оттуда пришёл сюда). Которые легко адаптировать сюда. Потому что на PHP фреймворке Kohana я делал не древовидные комментарии довольно долго и то не понял как их адаптировать в отдельный модуль а не оставить встроенным в контроллеры. Собственно я перенесу сюда их если ничего больше не найду, но хотелось бы оформить это неким расширением.
Нужны некие сниппеты которые можно будет потом расширять и которыми возможно можно поделится с кем то.

В основном самый болезненный вопрос это конечно же комментарии. Из них собственно не проблема создать даже форум, блог и всё что нужно.
Собственно использовать Pyramid для использования в роли социальной сети.
Возможно потребуются календарь, breadcrumbs и опросы, но с этим полегче…
lightarhont
Django по сути как раз батарейками и отталкивает, как ни странно. Ещё там поганые роуты.
Я попытался изменить в ней админку, но, она там по ходу такая, что лучше никакой админки, чем такая. В Пирамиде запилил админку на основе некоторого шаблона админки и мне в принципе понравилось.
Система очень гибкая конечно. Недостатков я пока не встретил. Хотя возможно неправильно что, по привычке из PHP сразу начал ООП крутить. С классами представления также работают.
4kpt_II
lightarhont
Хотя возможно неправильно что, по привычке из PHP сразу начал ООП крутить
Чего????? Не пишите больше такого. Иначе возникнут подозрения, что Вы знаете ООП на уровне, на котором он реализован в PHP, а реализован он там хуже, чем админка в джанге

P.S. Джангу я тоже не очень. Но причина другая…
bismigalis
По поводу комментов. Под pyramid такой плугин врядли появится.
Во-первых, какой персистент слой используешь? ZODB, SQLAlchemy, MongoDB? :)
Выход смотреть код других приложений приложений.
Если это SQLAlchemy, то можно смотреть код построенный на pylons, turbogears, flask.
Например
https://bitbucket.org/_amol_/tgapp-tgcomments/src
PooH
bismigalis
я смотрел и ptah и Kotti ( а еще substanced)
В итоге решил пилить свое CMF поглядывая в код этих штук.
А вот тут интересно, можно поразвернутее? Все три у меня в списке на посмотреть, но так руки и не дошли
bismigalis
PooH
можно поразвернутее?
легко

ptah
—–
чесно я его не осилил, доков мало, он сначало бурно развивался, потом был заброшен
юзает SQLAlchemy в качестве персистент, и RouteDispath для роутов, своя форм-либа, есть админка, не просто круд, но она предназначена для разраба, то есть доступ к внутренностям
есть пакеты ptahcms(выделен в отдельный пакет в 0.5 версии) и ptahcrowd(юзер подсистема)
в ptahcms ипользуется traversal очень оригинально, переопределяется травесер, этот момент я взял себе
вообщем вещь интересная, но у меня не пошло

Kotti
——
изначально cms, сейчас подается как фреймворк, те CMF
юзает SQLAlchemy и Traversal(работают все штуки для траверсал из пирамиды), для форм Deform
присутствует на официальном сайте
все-бы хорошо, но не эффективно работает траверсал, будут тормоза если много контент типов (join на контент тип) и/или большая глубина дерева(что реже)
юзается fanstatic - js библиотеки оборачиваются в python пакеты
пилит бывший плонер по мотивам Plone
вообщем не покидает чувство тяжелости

substanced
—————
юзает ZODB для персистенса, естесвенно Traversal, Deform
пилит автор пирамиды по мотивам Zope2
было интересно пощупать, почувствовать как это работать с объектной БД, но перспектив не имеет


по итогу больше понравилось последнее, но ZODB имеет плюсы так и минусы, минусы перевешивают.
щас пилю под влиянием substanced но поверх SQLAlchemy Core, взяв идею траверсала из ptahcms
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