Interested Article - Pylons

Pylons — программный каркас для разработки веб-приложений с открытым исходным кодом , написанный на языке Python . В нём широко используется стандарт WSGI , что способствует эффективности повторного использования кода и модульности .

В настоящее время развитие Pylons завершено на версии 1.0, а дальнейшего развития (помимо исправления ошибок) не планируется. В качестве основы для следующего поколения программного каркаса проекта Pylons взят программный каркас , получивший в рамках проекта Pylons новое имя — Pyramid . Само название Pylons становится отныне зонтичным брендом .

Pylons является более новым программным каркасом, написанным на Python, нежели более ранние разработки Django и TurboGears . Он создавался с оглядкой на особенности, плюсы и минусы уже существующих веб-фреймворков, таких как Django , Ruby on Rails , TurboGears и других, и в нём была сделана попытка вобрать всё лучшее.

Однако, так как он полностью состоит из WSGI -приложений и прослоек (middleware), а не только на низких уровнях, как другие Python-фреймворки, он оказывается очень стройным и гибким с точки зрения архитектуры и возможности изменения компонентов и добавления функциональности. Pylons использует два компонента, являющихся прямыми аналогами компонентов Ruby on Rails , реализованными на Python : Routes и WebHelpers.

Структура Pylons

Pylons почти полностью состоит из приложений, созданных сторонними разработчиками. Таким образом Pylons полностью следует принципу «Изобретено Не Здесь».

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

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

Для работы с проектами Pylons использует утилиту Paste .

Диспетчеризация URL

На данный момент Pylons широко использует — переписанный на Python диспетчер из фреймворка Ruby on Rails . Однако Pylons позволяет использовать любой WSGI -совместимый .

Генерация HTML

Для генерации HTML Pylons также использует компонент из Ruby on Rails , переписанный на Python. Этот компонент называется WebHelpers и предоставляет карту URL , построенную компонентом . WebHelpers также предоставляет несколько полезных функций для генерации JavaScript -кода, использующего Prototype или script.aculo.us .

Работа с формами

Для работы с формами Pylons использует компоненты и . Эти компоненты, в некоторых случаях, используют шаблонизатор Mako , для генерации HTML кода форм.

Шаблоны в Pylons

До версии 0.9.6, Pylons использовал шаблонизатор Myghty. После версии 0.9.6 в Pylons используется шаблонизатор Mako . Оба шаблонизатора основаны на использовании текста(text-based), а не XML (xml-based) и поддерживают, наследование и встраивание произвольного Python кода.

В связи с тем, что компоненты в Pylons слабо связаны — можно использовать и другие шаблонизаторы, такие как Genshi и Jinja2 .

Абстрагирование от Баз Данных и ORM в Pylons

В Pylons нет библиотеки для работы с базами данных, используемой по умолчанию. Одинаково часто применяются SQLAlchemy и .

См. также

Ссылки

  • (рус.) — форум по Pylons.
  • (англ.) — страница проекта Pylons.
  • (англ.) — «Полное руководство по Pylons» Джеймса Гарднера.
  • (рус.)
  • (рус.)
  • (рус.)
  • (англ.) — примеры, уроки и трюки от Майкла Орра — одного из разработчиков Pylons
  • (рус.) — веб-сайт о фреймворке Pylons
  • (англ.) Руководство по быстрому созданию сайта на Pylons
  • от 23 ноября 2009 на Wayback Machine (рус.) — вводная статья по Pylons с ссылками на дополнительные источники

Основные средства Pylons реализованы с помощью следующих пакетов:

  • (англ.) — создание установка Pylons и других модулей Python
  • (англ.) — Project setup, тестирование и развертывание, веб-сервер
  • (англ.) — реализация URL подстановок (routing), аналог Rails routes
  • (англ.) — Caching, Templating и т. п.
  • (англ.) — гибкий и очень быстрый язык шаблонов, пришедший на замену Myghty.
  • (англ.) — валидация форм и перевод значений формы из строк в типы Python.
  • (англ.) — функции HTML Helper (генерация HTML с помощью Python)
  • SQLAlchemy (рус.) — реализация ORM для представлений баз данных в моделях
  • (англ.) — быстрый и гибкий шаблонизатор с изменяемым синтаксисом, схожий с шаблонизатором Django

Литература

  • James Gardner. The Definitive Guide to Pylons. — Apress, 2008. — 568 с. — ISBN 9781590599341 .
Источник —

Same as Pylons