stringtranslate.com

Проект пилонов

Pylons Project — это организация с открытым исходным кодом , которая разрабатывает набор технологий веб-приложений, написанных на Python . Изначально проект представлял собой единый веб-фреймворк под названием Pylons, но после слияния с фреймворком repoze.bfg под новым названием Pyramid, проект Pylons теперь состоит из нескольких связанных технологий веб-приложений.

Пирамида

Pyramid — это веб-фреймворк с открытым исходным кодом, написанный на Python и основанный на WSGI . Это минималистичный веб-фреймворк, вдохновленный Zope , Pylons и Django . [3]

Первоначально названный "repoze.bfg", Pyramid привлек внимание в основном в сообществах Zope [4] и Plone , поскольку проект KARL Института открытого общества перешел с Plone на BFG. [5] В 2010 году было объявлено, что фреймворк Pylons перейдет на использование BFG в качестве основы в версии 1.5. [6] В результате включения BFG в проект Pylons, BFG был переименован в Pyramid. [7]

Функции

Pyramid — это минималистичный, независимый от платформы веб-фреймворк. Он не зависит от сохранения и интегрируется как с базами данных SQL через SQLAlchemy , так и с Zope Object Database , а также с другими базами данных NoSQL , такими как CouchDB . [3]

Pyramid позволяет разработчикам определять маршруты с помощью регулярных выражений , которые сопоставляются с объектами. Как и его коллега-фреймворк Zope, Pyramid также допускает иерархический обход объектов, где каждая часть URL-адреса является объектом, содержащим другие объекты, способом, который похож на папки в файловой системе. [8]

Веб-фреймворк Pylons

Pylons Framework — это фреймворк веб-приложений с открытым исходным кодом , написанный на Python . Он широко использует стандарт Web Server Gateway Interface для содействия повторному использованию и разделения функциональности на отдельные модули. [11] Он находится под сильным влиянием Ruby on Rails : два его основных компонента, Routes и WebHelpers, являются переопределениями функций Rails на Python.

Структура

Компания Pylons хорошо известна тем, что имеет практически полный набор сторонних инструментов, избегая феномена «изобретено не здесь» .

Установка, зависимости и настройка

Официальный метод установки Pylons — через EasyInstall через Python Package Index (PyPI), и большинство дополнительных инструментов обычно устанавливаются таким же образом. EasyInstall также обрабатывает зависимости пакетов, когда это необходимо. Некоторые дистрибутивы также могут упаковывать Pylons и Paste , но вполне вероятно, что пакеты любого дистрибутива будут отставать от официального дистрибутива. Pylons также можно установить вручную, переименовав его файл .egg в .zip и извлекая содержимое.

Paste используется для настройки, тестирования и развертывания проекта. Используя общий формат конфигурации INI , Paste допускает несколько «профилей», так что разработчики могут запускать настройки разработки и развертывания из одной и той же кодовой базы, не раскрывая чувствительные части Pylons, такие как интерактивный отладчик, производственным пользователям.

URL-адрес отправки

В настоящее время единственным широко используемым диспетчером URL для Pylons является Routes, Python-реализация диспетчеризации URL Ruby on Rails, хотя можно использовать любой совместимый с WSGI диспетчер URL. Хотя Routes — это отдельная библиотека, она была разработана для использования в Pylons, и ее разработка тесно синхронизирована с Pylons.

Генерация HTML

Другая часть Rails, адаптированная для Pylons, — это WebHelpers, которая обеспечивает сопоставление URL-адресов на основе конфигурации Routes. WebHelpers также предоставляет некоторые служебные функции для генерации кода JavaScript с использованием библиотек script.aculo.us и Prototype .

FormEncode и FormBuild используются для проверки и генерации HTML-форм; Mako в некоторых случаях использовался для генерации форм с использованием модели наследования Mako.

Шаблонирование

Myghty был языком шаблонов Pylons по умолчанию, но с версии 0.9.6 он был заменен на Mako . [12] Оба языка шаблонов основаны на тексте (в отличие от основанных на XML ), и их поддержка включает наследование и встраивание произвольного кода Python.

Из-за слабосвязанных слоев Pylons можно использовать и другие языки шаблонизации. Genshi , язык шаблонизации на основе XML, можно использовать вместо Mako или Myghty. [13]

Абстракция базы данных и объектно-реляционное отображение

У Pylons нет библиотеки базы данных по умолчанию. Известно, что используются как SQLObject , так и SQLAlchemy.

Слияние с repoze.bfg и рождение Pyramid Web Framework

Pylons развился в Pylons Project, а старый код из Pylons 1.0 теперь находится в режиме только для обслуживания. Однако, в соответствии с объединением проекта с repoze.bfg с ноября 2010 года, новые версии Pylons фактически отличаются от оригинального Pylons 1.0. Разработчики Pylons изначально планировали переписать некоторые части кода, но они заметили, что новый код приближался к repoze.bfg, что привело к слиянию Pylons и repoze.bfg. [14] [15] Это привело к тому, что repoze.bfg (часть веб-фреймворка Repoze на основе Python) был переименован и перезапущен как веб-фреймворк Pyramid. [16]

Смотрите также

Ссылки

  1. ^ ab "История изменений Pyramid — The Pyramid Web Framework v2.0". docs.pylonsproject.org . Получено 26.04.2021 .
  2. ^ «Авторское право, товарные знаки и атрибуция — The Pyramid Web Framework v2.0». docs.pylonsproject.org . Получено 26.04.2021 .
  3. ^ ab Крис Макдоноу. "repoze.bfg introduction". Архивировано из оригинала 2013-12-30 . Получено 2010-09-21 .
  4. ^ Гэри Постер (17.09.2010). "Zope Summit, DZUG, repoze.bfg" . Получено 21.09.2010 .
  5. ^ Томас Мороз, Крис Росси и Кэлвин Хендрикс-Паркер (28.10.2009). KARL – крупномасштабное управление знаниями. Будапешт, Венгрия: конференция Plone 2009. Архивировано из оригинала 02.06.2010 . Получено 23.09.2010 .
  6. ^ Бен Бангерт (2010-09-18). "Электронные письма, объясняющие структуру Pylons 2" . Получено 2010-09-21 .
  7. ^ "repoze.bfg теперь Pyramid". Архивировано из оригинала 2010-11-13 . Получено 2011-01-03 .
  8. ^ Wichert Akkerman (28.10.2009). Уроки других фреймворков. Будапешт, Венгрия: Plone Conference 2009. Событие происходит в 25:50. Архивировано из оригинала 18.04.2013 . Получено 21.09.2010 .
  9. ^ История пилонов
  10. ^ "Release 1.0.2". 22 июля 2015 г. Получено 22 июля 2018 г.
  11. ^ Проект mod_wsgi включает Pylons и Pyramid в свой список поддерживаемых основных веб-фреймворков Python.
  12. ^ Хаас, Кристоф Начало работы над пилонами Архивировано 16.02.2009 на Wayback Machine . Получено 5 июля 2007 г.
  13. ^ Genshi Wiki Pylons с Genshi Получено 5 июля 2007 г.
  14. ^ Часто задаваемые вопросы о проекте Pylons. URL: https://pylonsproject.org/about-pylons-project.html
  15. ^ Заметки о слиянии Pylons и repoze.bfg. URL: "Be Groovie - Заметки о слиянии Pylons и repoze.BFG". Архивировано из оригинала 2012-03-04 . Получено 2012-08-14 .
  16. ^ О Пирамиде. URL: https://trypyramid.com/

Дальнейшее чтение

Внешние ссылки