Pylons | это... Что такое Pylons? (original) (raw)

Pylons

Pylons logo.png
Тип Программный каркас для создания веб-приложений
Разработчик Бен Бангерт, Джеймс Гарднер
Операционная система Кроссплатформенный
Последняя версия 1.3 (21 марта 2012 г.)
Лицензия Лицензия BSD
Сайт pylonshq.com

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

В настоящее время развитие Pylons завершено на версии 1.0, а дальнейшего развития (помимо исправления ошибок) не планируется. В качестве основы для следующего поколения программного каркаса проекта Pylons взят программный каркас repoze.bfg, получивший в рамках проекта 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 — установка с помощью EasyInstall через PyPI, и большинство дополнительных библиотек устанавливаются таким же образом. EasyInstall автоматически устанавливает недостающие пакеты, когда это необходимо.

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

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

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

Генерация HTML

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

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

Для работы с формами Pylons использует компоненты FormEncode и FormBuild. Эти компоненты, в некоторых случаях, используют шаблонизатор 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 и SQLObject.

См. также

Ссылки

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

Литература

Просмотр этого шаблона Python
Люди Гвидо ван Россум
Реализации ChinesePython • CLPythonCPythonJPypeJythonIronPythonPyPy • Python for S60 • PsycoStackless PythonUnladen Swallow
Фреймворки CherryPyDjango • Flask • GAE frameworkPylonsPyramid • Quixote • TurboGearsTwisted • Web2py • Zope
IDE Boa Constructor • Eclipse+PyDev • EricGeanyIDLEKomodoNetBeans • PyCharm • PyScripter • SPE
Библиотеки Beautiful Soup • NLTKNumPyPILPygamePyGTK • Pyparsing • PyQtSciPySQLAlchemy
Другое ActivePythonPyPIPython Software FoundationЛицензия Python
Просмотр этого шаблона Веб-фреймворки
ASP.NET DotNetNukeASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (CocoonStrutsVelocity • WebWork 2) • AppFuse • AraneaEclipseFacelets • Flexive • FreeMarkerGoogle Web ToolkitGrailsHamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClientSpringStripesTapestry • ThinWire • VaadinWebMacro • WebWork • WebObjects • WicketZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JSjQueryjMaki • Microsoft AJAX Library • MochiKit • MooToolsPrototype • qooxdoo • Rialto Toolkit • Ricoscript.aculo.usSmartClientSprySproutCoreYahoo! UI LibraryUnderscorePhoneGap
Perl CatalystInterchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniter • DIY • Drupal • Fuse • Horde • KohanaLiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • YiiZend • Zoop • Joomla
Python CherryPyDjangoGAE framework • Karrigell • Nevow • Porcupine • PylonsPyramid • Spyce • TurboGearsTwistedTornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • MerbRuby on RailsSinatra • Padrino
Прочиеязыки Alpha Five • Fusebox (ColdFusionPHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)