TurboGears - Genel Bakış
Web Çerçevesi nedir?
Web Uygulama Çerçevesi veya basitçe Web Çerçevesi, bir web uygulaması geliştiricisinin protokoller, iş parçacığı yönetimi vb. Gibi düşük seviyeli ayrıntılarla uğraşmak zorunda kalmadan uygulamaları yazmasına olanak tanıyan bir kitaplık ve modül koleksiyonunu temsil eder.
TurboGears nedir?
TurboGears, Python ile yazılmış bir web uygulaması çerçevesidir. İlk olarak 2005 yılında Kevin Dangoor tarafından oluşturulan TurboGears'ın (sürüm 2.3.7) en son sürümü, Mark Ramm ve Florent Aide liderliğindeki bir grup geliştirici tarafından yönetilmektedir.
TurboGears, Rails, Django, Struts, vb. Gibi çoğu modern web çerçevesinin yaptığı gibi Model-Görünüm-Denetleyici paradigmasını takip eder.
Model Görünümü Denetleyicisi
MVC, web uygulamaları geliştirmek için bir yazılım tasarım modelidir. Model Görünüm Denetleyici kalıbı üç bölümden oluşur -
Model - Modelin en düşük seviyesi, verilerin korunmasından sorumludur.
View - Bu, verilerin tamamının veya bir kısmının kullanıcıya gösterilmesinden sorumludur.
Controller - Model ve Görünüm arasındaki etkileşimleri kontrol eden Yazılım Kodu.
MVC, uygulama mantığını kullanıcı arayüzü katmanından ayırdığı ve endişelerin ayrılmasını desteklediği için popülerdir. Burada, Kontrolör uygulamaya yönelik tüm talepleri alır ve ardından Model ile birlikte çalışarak Görünüm için ihtiyaç duyulan verileri hazırlar. Görünüm daha sonra Kontrolör tarafından hazırlanan verileri kullanarak nihai bir sunulabilir yanıt oluşturur. MVC soyutlaması aşağıdaki gibi grafiksel olarak temsil edilebilir -
Model
Model, uygulamanın verilerini yönetmekten sorumludur. Görünümden gelen talebe yanıt verir ve ayrıca kontrolörün kendisini güncellemesi için gelen talimatlara yanıt verir.
Görünüm
Bir kontrolörün verileri sunma kararıyla tetiklenen, belirli bir formatta verilerin sunumu. AJAX teknolojisi ile entegre edilmesi çok kolay komut tabanlı şablonlama sistemleridir.
Kontrol eden, denetleyici
Denetleyici, kullanıcı girdisine yanıt vermekten ve veri modeli nesneleri üzerinde etkileşimler gerçekleştirmekten sorumludur. Kontrolör girişi alır, girişi doğrular ve ardından veri modelinin durumunu değiştiren iş operasyonunu gerçekleştirir.
TurboGears, bir dizi kitaplık ve araç üzerine inşa edilmiştir. Bu araçlar, TurboGears’ın farklı sürümleri arasında değişmiştir. Mevcut sürümün (ver 2.3.7) bileşenleri aşağıda listelenmiştir.
SQLAlchemy
Python kodu için Nesne ilişki eşlemesi (ORM) sağlayan açık kaynaklı bir SQL kitidir.
Genshi
Bu şablonlama motoru, TG uygulamalarının ön ucunu oluşturmak için kullanılır. Bir web şablonlama sistemi, dinamik web sayfalarını oluşturmak için bir şablonu belirli bir veri kaynağıyla birleştirir.
ToscaWidgets
Sunucu tarafı kontrolleri ile HTML formları oluşturmak için bir widget kitaplığıdır. Tosca ayrıca JavaScript widget'ları ve araç takımlarıyla bağlantı kurmak için bir ara yazılım görevi görür.
Vites kutusu
Projeleri ve sunucu TurboGears uygulamalarını yönetmek için bir dizi komut sağlar. TurboGears uygulamaları, herhangi bir WSGI uyumlu web sunucusuna yerleştirilebilir.
Web Sunucusu Ağ Geçidi Arayüzü (WSGI), Python web uygulaması geliştirme için bir standart olarak benimsenmiştir. WSGI, web sunucusu ve web uygulamaları arasındaki evrensel arabirim için bir belirtimdir. Wsgiref paketi, WSGI'nin bir referans uygulamasıdır. Web TurboGears web çerçevesine WSGI desteği eklemek için kullanılır. Bu paketteki simple_server modülü, WSGI uygulamalarına hizmet veren basit bir HTTP sunucusu uygular. Bu eğitim sırasında geliştirilen uygulamaları test etmek için kullanacağız.