TurboGears - przegląd
Co to jest platforma internetowa?
Web Application Framework lub po prostu Web Framework reprezentuje zbiór bibliotek i modułów, który umożliwia programiście aplikacji internetowych pisanie aplikacji bez martwienia się o szczegóły niskiego poziomu, takie jak protokoły, zarządzanie wątkami itp.
Co to jest TurboGears?
TurboGears to framework aplikacji internetowych napisany w Pythonie. Pierwotnie stworzony przez Kevina Dangoora w 2005 roku, jego najnowsza wersja TurboGears (wersja 2.3.7) jest zarządzana przez grupę programistów kierowaną przez Marka Ramma i Florent Aide.
TurboGears podąża za paradygmatem Model-View-Controller, podobnie jak większość nowoczesnych platform internetowych, takich jak Rails, Django, Struts itp.
Kontroler widoku modelu
MVC to wzorzec projektowania oprogramowania do tworzenia aplikacji internetowych. Wzorzec kontrolera widoku modelu składa się z trzech części -
Model - Za utrzymanie danych odpowiada najniższy poziom wzorca.
View - Jest odpowiedzialny za wyświetlanie całości lub części danych użytkownikowi.
Controller - Kod oprogramowania, który kontroluje interakcje między modelem a widokiem.
MVC jest popularny, ponieważ izoluje logikę aplikacji od warstwy interfejsu użytkownika i obsługuje oddzielanie problemów. Tutaj Kontroler otrzymuje wszystkie zapytania dotyczące aplikacji, a następnie współpracuje z Modelką w celu przygotowania wszelkich danych wymaganych przez Widok. Widok następnie wykorzystuje dane przygotowane przez kontrolera do wygenerowania ostatecznej, możliwej do zaprezentowania odpowiedzi. Abstrakcję MVC można przedstawić graficznie w następujący sposób -
Model
Model jest odpowiedzialny za zarządzanie danymi aplikacji. Odpowiada na żądanie z widoku, a także odpowiada na instrukcje administratora, aby się zaktualizować.
Widok
Prezentacja danych w określonym formacie, wywołana decyzją administratora o przedstawieniu danych. Są to systemy szablonów oparte na skryptach, bardzo łatwe do zintegrowania z technologią AJAX.
Administrator
Kontroler jest odpowiedzialny za reagowanie na dane wejściowe użytkownika i wykonywanie interakcji na obiektach modelu danych. Kontroler odbiera dane wejściowe, sprawdza poprawność danych wejściowych, a następnie wykonuje operację biznesową, która modyfikuje stan modelu danych.
TurboGears jest zbudowany na podstawie wielu bibliotek i narzędzi. Te narzędzia zmieniły się w różnych wersjach TurboGears. Poniżej wymieniono składniki aktualnej wersji (wersja 2.3.7).
SQLAlchemy
Jest to zestaw SQL typu open source, który zapewnia mapowanie relacji obiektów (ORM) dla kodu Pythona.
Genshi
Ten silnik szablonów służy do konstruowania front-endu aplikacji TG. System szablonów internetowych łączy szablon z pewnym źródłem danych w celu renderowania dynamicznych stron internetowych.
ToscaWidgets
Jest to biblioteka widżetów do generowania formularzy HTML z kontrolkami po stronie serwera. Tosca działa również jako oprogramowanie pośredniczące do łączenia się z widżetami JavaScript i zestawami narzędzi.
Skrzynia biegów
Zawiera zestaw poleceń do zarządzania projektami i aplikacjami serwera TurboGears. Aplikacje TurboGears można wdrażać na dowolnym serwerze WWW zgodnym ze standardem WSGI.
Interfejs bramy serwera sieci Web (WSGI) został przyjęty jako standard do tworzenia aplikacji internetowych w języku Python. WSGI to specyfikacja uniwersalnego interfejsu pomiędzy serwerem WWW a aplikacjami WWW. Pakiet wsgiref jest referencyjną implementacją WSGI. Służy do dodawania obsługi WSGI do frameworka WWW TurboGears. Moduł simple_server w tym pakiecie implementuje prosty serwer HTTP, który obsługuje aplikacje WSGI. Będziemy go używać do testowania aplikacji opracowanych podczas tego samouczka.