CherryPy - CherryPy

CherryPy
Geliştirici (ler)CherryPy ekibi
İlk sürümHaziran 2002; 18 yıl önce (2002-06)[1]
Kararlı sürüm
18.5.0[2] / 27 Kasım 2019; 12 ay önce (2019-11-27)
DepoCherryPy Deposu
YazılmışPython
İşletim sistemiÇapraz platform
TürWeb uygulama çerçevesi
LisansBSD Lisansı[3]
İnternet sitesikiraz gibi.org

CherryPy bir nesne odaklı web uygulama çerçevesi kullanmak Python programlama dili. İçin tasarlanmıştır hızlı gelişim nın-nin Web uygulamaları tarafından sarma HTTP protokolü ancak düşük bir seviyede kalır ve RFC 7231'de tanımlanandan fazlasını sunmaz.

CherryPy bir web sunucusu olabilir veya herhangi biri aracılığıyla başlatılabilir. WSGI uyumlu ortam. Çıktı oluşturma veya arka uç erişimi için şablon oluşturma gibi görevlerle ilgilenmez. Çerçeve, istek / yanıt işlemede tanımlanan noktalarda çağrılan filtrelerle genişletilebilir.

Pythonic arayüzü

Proje kurucusunun hedeflerinden biri, Remi Delon, CherryPy'i pitonik olabildiğince. Bu, geliştiricinin çerçeveyi herhangi bir normal Python modülü olarak kullanmasına ve uygulamanın web için olduğunu (teknik açıdan) unutmasına olanak tanır.

Örneğin, ortak Selam Dünya CherryPy 3 ile program şöyle görünür:

ithalat kiraz gibisınıf Selam Dünya:    def indeks(kendini):        dönüş "Selam Dünya!"    indeks.maruz = Doğrukiraz gibi.hızlı başlangıç(Selam Dünya())

Özellikleri

CherryPy uygulamaları:

  • Bir HTTP / 1.1 -Uysal, WSGI iş parçacığı havuzlu Web sunucusu.[4] Tipik olarak, CherryPy'nin kendisi sayfa başına yalnızca 1-2 ms sürer.[5][6]
  • Diğer WSGI özellikli herhangi bir destek Web sunucusu veya adaptör dahil Apaçi, IIS, lighttpd, mod_python, FastCGI, SCGI, ve mod_wsgi.
  • Yerli mod_python adaptör.
  • Birden çok HTTP sunucusu (örneğin, birden çok bağlantı noktasında dinleme yeteneği).[7]
  • Bir Eklenti sistemi[8] CherryPy eklentiler içindeki olaylara bağlanmak sunucu sunucu başlatıldığında veya kapandığında çalıştırılması gereken kodu çalıştırmak için - sunucu başlatma, sunucu kapatma, sunucudan çıkış vb.
  • İçin yerleşik araçlar Önbelleğe almak, kodlama, seanslar, yetki, statik içerik ve diğerleri. CherryPy araçlar içindeki olaylara bağlanmak istek süreç. CherryPy sunucusu bir istek aldığında, bu isteği yerine getirmek için uyguladığı belirli adımlar vardır. Sayfa işleyicileri, süreçteki yalnızca bir adımdır. Araçlar ayrıca, belirli bir işleyici grubu için bunları açıp kapatmak için bir sözdizimi ve yapılandırma API'si sağlar.
  • Geliştiriciler ve dağıtımcılar için bir yapılandırma sistemi.[9][10][11] CherryPy dağıtımları, Python sözlükleri, yapılandırma dosyaları ve açık dosya nesneleri aracılığıyla sahada, uygulamada ve denetleyici düzeyinde yapılandırılabilir.
  • Tam test odası CherryPy uygulamalarını test etmek için kullanılabilecek temel işlevsellik ve ilişkili çerçeve için.[12]
  • Yerleşik profil oluşturma v2.1'den beri[13] kapsama[14] ve test desteği.

CherryPy, sizi belirli bir nesne ilişkisel eşleyici (ORM), şablon dili veya JavaScript kitaplığı.

CherryPy ile kullanılabilir

  • Rotalar - bir Python yeniden uygulaması raylar üzerinde yakut haritalama için rota sistemi URL'ler denetleyicilere / eylemlere ve URL'lerin oluşturulmasına.[15]

Nesne-ilişkisel eşleyiciler

Şablon dilleri

  • Mako[19] - Python'da yazılmış, basit bir CherryPy aracıyla kullanılabilen bir şablon kitaplığı.[20]
  • Çita - açık kaynak şablon motoru ve Python ile yazılmış kod oluşturma aracı.
  • CherryTemplate - CherryPy için şablon dili.
  • Genshi[21][22] - güçlü bir XML şablon dili.
  • Jinja - genel amaçlı bir şablon dili. CherryPy, Jinja şablonlarını kullanmak için bir araca sahiptir.[23]
  • Çocuk - Python ile yazılmış XML tabanlı sözlükler için basit bir şablon dili. TurboGears 1.x sunucu olarak CherryPy'i ve ön uç olarak Kid'i kullanır.[24]

CherryPy wiki yardımcı olur[25] şablon dili seçmek.

CherryPy kullanan ürünler

Ayrıca bakınız

Referanslar

  1. ^ "CherryPy'nin Tarihi".
  2. ^ https://pypi.python.org/pypi/CherryPy
  3. ^ "cherrypy / CherryPy / source / cherrypy / LICENSE.txt". BitBucket. Alındı 21 Şubat 2015.
  4. ^ http://www.cherrypy.org/#Features
  5. ^ "CherryPy v3 WSGI sunucu karşılaştırma sonuçları". Arşivlenen orijinal 2016-03-03 tarihinde. Alındı 2009-09-23.
  6. ^ CherryPy ne kadar hızlı? Arşivlendi 10 Şubat 2010 Wayback Makinesi
  7. ^ "CherryPy ile birden çok HTTP sunucusu nasıl kurulur". Arşivlenen orijinal 2016-03-03 tarihinde. Alındı 2009-09-23.
  8. ^ CherryPy ile özel motor eklentileri Arşivlendi 3 Mayıs 2009 Wayback Makinesi
  9. ^ CherryPy'nin konfigürasyon sistemi Arşivlendi 26 Haziran 2009 Wayback Makinesi
  10. ^ CherryPy'nin Yapılandırma API'si Arşivlendi 1 Temmuz 2009 Wayback Makinesi
  11. ^ Yapılandırma seçeneklerinin kısa özeti
  12. ^ CherryPy'nin kendisi nasıl test edilir Arşivlendi 27 Eylül 2009 Wayback Makinesi
  13. ^ CherryPy'nin profil oluşturucu modülü Arşivlendi 9 Şubat 2010 Wayback Makinesi
  14. ^ "CherryPy ile uygulama kodunun kapsam verileri nasıl toplanır ve analiz edilir". Arşivlenen orijinal 2015-11-17'de. Alındı 2009-09-23.
  15. ^ "Rotaları kullanan CherryPy için basit bir dağıtım aracı". Arşivlenen orijinal 2016-01-14 tarihinde. Alındı 2009-09-27.
  16. ^ TurboGears 2.x, sunucu olarak CherryPy'yi ve varsayılan ORM olarak SQLAlchemy'yi kullanır
  17. ^ TurboGears 1.x, sunucu olarak CherryPy'yi ve ORM olarak SQLObject'i kullanır Arşivlendi 22 Eylül 2009 Wayback Makinesi
  18. ^ Dejavu Arşivlendi 17 Mayıs 2009 Wayback Makinesi
  19. ^ Mako
  20. ^ "Mako şablonu oluşturmak için basit bir CherryPy aracı". Arşivlenen orijinal 2016-03-03 tarihinde. Alındı 2009-09-21.
  21. ^ "CherryPy - Genshi". Alındı 2009-09-26.
  22. ^ "Genshi - CherryPy Araçları - Trac". Arşivlenen orijinal 2012-02-27 tarihinde. Alındı 2009-09-26.
  23. ^ "Jinja şablonlarını kullanmak için temel bir CherryPy Aracı". Arşivlenen orijinal 2015-09-05 tarihinde. Alındı 2009-09-23.
  24. ^ TurboGears 1.x, sunucu olarak CherryPy'yi ve ön uç olarak Kid'i kullanır Arşivlendi 22 Eylül 2009 Wayback Makinesi
  25. ^ Şablon dili seçme hakkında CherryPy wiki Arşivlendi 10 Şubat 2010 Wayback Makinesi
  26. ^ "Arşivlenmiş kopya". Arşivlenen orijinal 2015-11-17'de. Alındı 2015-03-24.CS1 Maint: başlık olarak arşivlenmiş kopya (bağlantı)

Dış bağlantılar