CherryPy је веб апликациони фрејмворк објектно-оријентисаног програмирања који се користи програмским језиком Пајтон. Дизајниран је за рапидно брзо програмирање веб апликација обмотавајући се HTTP протоколом али притом да остаје у ниском нивоу и да не нуди ништа више него што је дефинисано у .
CherryPy може бити сервер сам по себи или га неко може покренути преко било ког WSGI компатибилног окружења. Не ради са стварима попут шаблонирања за излазно приказивање или приступ бек-енду. Фрејмворк је могуће проширити са филтерима, који су позвани у одређеним тачкама код захтева/одговора у току процеса.
Пајтонски интерфејс Један од циљева пројектанта, Реми Делон, је био да се CherryPy направи што више пајтонски што је могуће. Ово дозвољава програмерима да користе фрејмворк као било који регуларни Пајтон модул и да забораве (из техничке перспективе) да је апликација за веб.
На пример, чест Hello World програм са CherryPy 3 би изгледао:import cherrypy
class HelloWorld(object): def index(self): return "Hello World!" index.exposed = True
cherrypy.quickstart(HelloWorld())
Могућности CherryPy имплементује: HTTP/1.1-компатибилност, WSGI нитно-базирани веб сервер. Типично, CherryPy сам по себи захтева само 1-2 милисекунде по страници. Подршка за било који други WSGI-омогућени веб сервер или адаптер, укључујући Apache, IIS, lighttpd, mod_python, FastCGI, SCGI, и mod_wsgi. Нативни mod_python адаптер. Вишеструке HTTP сервере (нпр. могућност слушања на више портова). Систем прикључка CherryPy прикључци се каче на дешавања у оквиру процеса сервера — у покретање сервера, гашење, излазак, итд. — да би се покренуо код који је потребан приликом покретања и гашења сервера. Уграђене алатке за веб кеш, Кодирање знакова, сесије, ауторизацију, статични садржај, и друге. CherryPy алатке се каче на дешавања у оквиру процеса захтева. Када год CherryPy сервер добије захтев, постоји специфични сет корака кроз који пролази да би поднео тај захтев. Подносиоци странице су само један корак у процесу. Алатке такође доприносе синтаксу и конфигурациони АПИ за њихово укључивање и искључивање за специфични сет подносиоца. Конфигурациони систем за програмере и издаваче. CherryPy размештања су променљива на сајту, на апликационом и контролорном нивоу, кроз библиотеке Пајтона, конфигурационих фајлова и објеката отвореног фајла. Потпун скуп тестова за главну функционалност и повезан фрејмворк који може бити коришћен за тестирање CherryPy апликација. Уграђен профајлинг од верзије v2.1,покривање и подршка за тестирање. CherryPy не форсира да се користи специфични објектно-релациони мапер (ОРМ), језик шаблонирања или библиотеку JavaScript-e.
Могу бити коришћени са CherryPy Routes — Пајтон ре-имплементација Ruby on Rails системских путева за мапирање веб адреса на контролоре/акције и генерисање веб адреса.
Објектно-релациони мапери SQLAlchemy — бек-енд база података и ОРМ за Пајтон апликације. TurboGears 2.x се користи CherryPy као сервером и SQLAlchemy као његов главни ОРМ. SQLObject — популарни ОРМ за допринос објектног интерфејса у базу података. Подржава бројне честе бек-енд базе података: укључене у дистрибуцију су: MySQL, PostgreSQL, SQLite, Sybase SQL Server, MaxDB, Microsoft SQL Server и Firebird. TurboGears 1.x се користи CherryPy као сервером и SQLObject као ОРМ. Storm — ОРМ од Canonical Ltd. (ствараоци Ubuntu-а) Peewee — једноставан и мали ОРМ. Има неколико (али важних) концепата, чинећи га лаким за учење и интуитивним за коришћење Dejavu — јавни домен, нитно обезбеђен ОРМ за Пајтон апликације MongoEngine —ОДМ за повезивање на MongoDB.
Језици шаблонирања MakoMako — библиотека шаблона написана у Пајтону, могућа за коришћење са једноставном CherryPy алатком. Cheetah — шаблон отвореног кода и алатка генератора кода, написаног у Пајтону. CherryTemplate — језик шаблонирања за CherryPy. Genshi — моћан језик шаблонирања у XML-у. Jinja — језик шаблонирања у генералне сврхе. CherryPy има алатку за коришћење Jinja шаблона. Kid — једноставан језик шаблонирања за XML базиране речнике написане у Пајтону. TurboGears 1.x се користи CherryPy као сервером, а Kid као предњим крајем. CherryPy вики помаже у избору језика шаблонирања.
JavaScript библиотеке Sarissahttp://sourceforge.net/projects/sarissa/files/ — крос-претраживач за Ajax jQuery — лагана библиотека која даје акценат на интеракцију између JavaScript-е и HTML-а Pyjamas — Пајтон до JavaScript компајлер и сет веб додатака
Производи који користе CherryPy TurboGears — CherryPy 2.x је главна компонента TurboGears 1.x. Splunk Enterprise - CherryPy 3.1.2
Референце
Спољашње везе
mailing list Documentation Feeds about CherryPy CherryPy on Freshmeat CherryPy on Ohloh Websites running atop CherryPy People who use CherryPy Products based on or inspired by CherryPy
Категорија:Пајтон (програмски језик) Категорија:Слободни софтвер написан у Пајтону Категорија:Софтвер са BSD лиценцом