CherryPy - CherryPy
Vývojáři | Tým CherryPy |
---|---|
První vydání | Červen 2002[1] |
Stabilní uvolnění | 18.5.0[2] / 27. listopadu 2019 |
Úložiště | Úložiště CherryPy |
Napsáno | Krajta |
Operační systém | Cross-platform |
Typ | Rámec webových aplikací |
Licence | Licence BSD[3] |
webová stránka | cherrypy |
CherryPy je objektově orientovaný rámec webových aplikací za použití Programovací jazyk Python. Je určen pro rychlý vývoj z webové aplikace podle obal the HTTP protokol ale zůstává na nízké úrovni a nenabízí mnohem víc, než je definováno v RFC 7231.
CherryPy může být samotný webový server nebo jej lze spustit prostřednictvím libovolného WSGI kompatibilní prostředí. Nezabývá se úkoly, jako je šablonování pro vykreslování výstupu nebo backendový přístup. Rámec je rozšiřitelný o filtry, které jsou volány v definovaných bodech při zpracování požadavku / odpovědi.
Pythonické rozhraní
Jedním z cílů zakladatele projektu, Remi Delon, bylo udělat CherryPy jako pythonický jak je to možné. To umožňuje vývojáři používat framework jako jakýkoli běžný modul Pythonu a zapomenout (z technického hlediska), že aplikace je pro web.
Například běžné Ahoj světe program s CherryPy 3 by vypadal takto:
import cherrypytřída Ahoj světe: def index(já): vrátit se "Ahoj světe!" index.vystavena = Skutečnýcherrypy.rychlý start(Ahoj světe())
Funkce
CherryPy implementuje:
- A HTTP / 1.1 -v souladu, WSGI sdružené webový server.[4] Samotný CherryPy obvykle trvá pouze 1–2 ms na stránku.[5][6]
- Podpora všech dalších podporovaných WSGI webový server nebo adaptér, včetně Apache, IIS, lighttpd, mod_python, FastCGI, SCGI, a mod_wsgi.
- Rodák mod_python adaptér.
- Více serverů HTTP (např. Schopnost naslouchat na více portech).[7]
- A zapojit Systém[8] CherryPy pluginy zapojit se do událostí v rámci serveru process - into server startup, shutdown server, server exiting, etc. - to run code that needs to be run when the server start up or shuts down.
- Vestavěné nástroje pro ukládání do mezipaměti, kódování, zasedání, oprávnění, statický obsah a další. CherryPy nástroje připojit se k událostem v rámci žádost proces. Kdykoli server CherryPy obdrží požadavek, existuje specifická sada kroků, kterými prochází tento požadavek. Obslužné rutiny stránek jsou pouze jedním krokem v procesu. Nástroje také poskytují API syntaxe a konfigurace pro jejich zapnutí a vypnutí pro konkrétní sadu obslužných programů.
- Konfigurační systém pro vývojáře a implementátory.[9][10][11] Nasazení CherryPy lze konfigurovat na místě, v aplikaci a na úrovni řadiče prostřednictvím slovníků Pythonu, konfiguračních souborů a otevřených objektů souborů.
- Kompletní testovací sada pro základní funkčnost a přidružený rámec, který lze použít k testování aplikací CherryPy.[12]
- Vestavěný profilování od verze 2.1,[13] Dosah[14] a podpora testování.
CherryPy vás nenutí používat konkrétní objektově-relační mapovač (ORM), jazyk šablony nebo Knihovna JavaScript.
Lze použít s CherryPy
- Routes - Python re-implementation of the Ruby on Rails systém tras pro mapování URL na řadiče / akce a generování URL.[15]
Objektově-relační mapovače
- SQLAlchemy - backend databáze a ORM pro aplikace v Pythonu. TurboGears 2.x používá CherryPy jako server a SQLAlchemy jako výchozí ORM.[16]
- SQLObject - populární ORM pro poskytnutí objektového rozhraní do databáze. Podporuje řadu běžných databázových backendů: součástí distribuce jsou MySQL, PostgreSQL, SQLite, Sybase SQL Server, MaxDB, Microsoft SQL Server a Fénix. TurboGears 1.x používá CherryPy jako server a SQLObject jako ORM.[17]
- Bouřka - ORM z Canonical Ltd. (tvůrci Ubuntu )
- Dejavu[18] - a software pro veřejné domény, bezpečná pro vlákna ORM pro aplikace v Pythonu
- MongoEngine - An ODM pro připojení k MongoDB.
Šablona jazyků
- Mako[19] - knihovna šablon napsaná v Pythonu, použitelná pomocí jednoduchého nástroje CherryPy.[20]
- Gepard - otevřený zdroj stroj šablony a nástroj pro generování kódu napsaný v Pythonu.
- CherryTemplate - šablonový jazyk pro CherryPy.
- Genshi[21][22] - výkonný jazyk šablon XML.
- Jinja - univerzální šablonový jazyk. CherryPy má nástroj pro používání šablon Jinja.[23]
- Dítě - jednoduchý jazyk šablony pro slovníky založené na XML napsané v Pythonu. TurboGears 1.x používá CherryPy jako server a Kid jako frontend.[24]
CherryPy wiki pomáhá[25] výběr šablonového jazyka.
Produkty využívající CherryPy
- TurboGears - CherryPy 2.x je hlavní součástí TurboGears 1.x.
- Splunk Enterprise - CherryPy 3.1.2[26]
Viz také
Reference
- ^ "Historie CherryPy".
- ^ https://pypi.python.org/pypi/CherryPy
- ^ „cherrypy / CherryPy / source / cherrypy / LICENSE.txt“. BitBucket. Citováno 21. února 2015.
- ^ http://www.cherrypy.org/#Features
- ^ „CherryPy v3 WSGI server benchmark results“. Archivovány od originál dne 03.03.2016. Citováno 2009-09-23.
- ^ Jak rychlý je CherryPy? Archivováno 10. února 2010 v Wayback Machine
- ^ „Jak nastavit více serverů HTTP pomocí CherryPy“. Archivovány od originál dne 03.03.2016. Citováno 2009-09-23.
- ^ Vlastní pluginy motoru s CherryPy Archivováno 3. Května 2009 v Wayback Machine
- ^ Konfigurační systém CherryPy Archivováno 26. června 2009 v Wayback Machine
- ^ Konfigurační API CherryPy Archivováno 1. Července 2009 v Wayback Machine
- ^ Krátké shrnutí možností konfigurace
- ^ Jak otestovat samotný CherryPy Archivováno 27. září 2009 v Wayback Machine
- ^ Profilový modul CherryPy Archivováno 9. února 2010 v Wayback Machine
- ^ „Jak sbírat a analyzovat data pokrytí kódu aplikace pomocí CherryPy“. Archivovány od originál dne 2015-11-17. Citováno 2009-09-23.
- ^ „Jednoduchý nástroj dispečera pro CherryPy, který používá Routes“. Archivovány od originál dne 2016-01-14. Citováno 2009-09-27.
- ^ TurboGears 2.x používá CherryPy jako server a SQLAlchemy jako výchozí ORM
- ^ TurboGears 1.x používá CherryPy jako server a SQLObject jako ORM Archivováno 22. září 2009 v Wayback Machine
- ^ Dejavu Archivováno 17. května 2009 v Wayback Machine
- ^ Mako
- ^ "Jednoduchý nástroj CherryPy pro šablonování Mako". Archivovány od originál dne 03.03.2016. Citováno 2009-09-21.
- ^ „CherryPy - Genshi“. Citováno 2009-09-26.
- ^ „Genshi - CherryPy Tools - Trac“. Archivovány od originál dne 2012-02-27. Citováno 2009-09-26.
- ^ „Základní nástroj CherryPy pro používání šablon Jinja“. Archivovány od originál dne 2015-09-05. Citováno 2009-09-23.
- ^ TurboGears 1.x používá CherryPy jako server a Kid jako rozhraní Archivováno 22. září 2009 v Wayback Machine
- ^ CherryPy wiki o výběru šablonového jazyka Archivováno 10. února 2010 v Wayback Machine
- ^ „Archivovaná kopie“. Archivovány od originál dne 2015-11-17. Citováno 2015-03-24.CS1 maint: archivovaná kopie jako titul (odkaz)