Web2py - omówienie struktury
web2py to pełnoprawny framework sieciowy, który może być używany przez programistę do pełnego opracowania aplikacji internetowej. Obejmuje integrację z bazą danych SQL i wielowątkowy serwer WWW do projektowania programu.
Interfejs sieciowy do projektowania programu użytkownika
Po wykonaniu polecenia zgodnie z systemem operacyjnym, web2py wyświetla okno startowe, a następnie wyświetla widget GUI, który prosi użytkownika o wybranie -
- jednorazowe hasło administratora,
- adres IP interfejsu sieciowego, który ma być używany przez serwer WWW,
- oraz numer portu, z którego mają być obsługiwane żądania.
Administrator ma wszystkie uprawnienia do dodawania i edycji każdej nowej aplikacji internetowej.
Domyślnie web2py uruchamia swój serwer WWW na 127.0.0.1:8000 (port 8000 na hoście lokalnym), ale użytkownik może go uruchomić na dowolnym dostępnym adresie IP i porcie zgodnie z wymaganiami.
Widżet GUI web2py zostanie wyświetlony, jak pokazano poniżej.
Hasło jest używane w interfejsie administracyjnym przy wszelkich zmianach w nowym module.
Po ustawieniu przez użytkownika hasła administratora, web2py uruchamia przeglądarkę internetową na stronie o następującym adresie URL - http://127.0.0.1:8000/
Strona powitalna frameworka zostanie wyświetlona, jak pokazano poniżej.
Projektowanie podstawowego programu w web2py
Po uruchomieniu aplikacji web2py z ww. URL możemy skorzystać z interfejsu administracyjnego do stworzenia nowego modułu np. “helloWorld”.
Interfejs administracyjny poprosi o hasło w celu uwierzytelnienia, ponieważ administrator ma wszystkie uprawnienia do dodawania i edytowania każdej nowej aplikacji internetowej.
Migawka podana powyżej zawiera szczegóły strony, która zawiera listę wszystkich zainstalowanych aplikacji web2py i pozwala administratorowi zarządzać nimi. Domyślnie framework web2py zawiera trzy aplikacje. Oni są -
Na admin aplikacja, którą użytkownik aktualnie wdraża.
Na examples aplikacji, z interaktywną dokumentacją online i instancją oficjalnej strony web2py.
ZA welcomepodanie. Zawiera podstawowy szablon dla każdej innej aplikacji web2py. Jest również znany jakoscaffolding application. Aplikacja wita również użytkownika przy starcie.
Niech będzie nazwa nowej aplikacji “helloWorld”.
Po utworzeniu nowej aplikacji użytkownik zostaje przekierowany na stronę zawierającą widok, model i kontrolery odpowiedniej aplikacji.
Użytkownik może spojrzeć na nowo utworzoną aplikację, podając następujący adres URL - http://127.0.0.1:8000/helloWorld
Domyślnie użytkownik może wyświetlić następujący ekran po kliknięciu wyżej wymienionego adresu URL.
Do wydrukowania wiadomości z danej aplikacji internetowej “helloWorld”, zmiana jest wprowadzana w default.py kontroler.
Funkcja o nazwie “index”jest domyślną funkcją zwracającą wartość i wyświetlającą niezbędne dane wyjściowe. Jak wspomniano powyżej, ciąg“Hello World- Welcome to my first web application” jest używana jako wartość zwracana, która wyświetla dane wyjściowe na ekranie.
Dane wyjściowe są wyświetlane w następujący sposób -
Ogłoszenia zwrotne
Mechanizm walidacji danych wejściowych formularza jest bardzo powszechny i nie jest uważany za dobrą praktykę programistyczną. Dane wejściowe są sprawdzane za każdym razem, co stanowi obciążenie dla walidacji.
Lepszym wzorcem w web2py jest przesyłanie formularzy do tej samej akcji, która je generuje. Ten mechanizm nosi nazwę“postback”co jest główną cechą web2py. Krótko mówiąc, samopodłożenie osiąga się w formaciepostback.
def first():
if request.vars.visitor_name: #if visitor name exists
session.visitor_name = request.vars.visitor_name
redirect(URL('second'))#postback is implemented
return dict()
Aplikacja CRUD
Platforma web2py zawiera aplikacje, które pełnią funkcje tworzenia, pobierania, aktualizowania i usuwania. PlikCRUD cykl opisuje podstawowe funkcje bazy danych, która jest trwała.
Cała logika aplikacji jest zapisana w modelach, które są pobierane przez kontrolery i wyświetlane użytkownikom za pomocą widoku.
appadmin
W przypadku PHP serwer aplikacji zawiera listę wszystkich baz danych w phpmyadmin. W podobny sposób web2py zapewnia interfejs do zarządzania, tworzenia i usuwania tabel lub baz danych, co jest określane jako“appadmin.”
Przed zaimplementowaniem logiki stojącej za tabelami konieczne jest utworzenie bazy danych i skojarzonych z nią tabel.
Adres URL, do którego można uzyskać dostęp appadmin -
http://127.0.0.1:8000/applicationname/appadmin
Po kliknięciu adresu URL użytkownik otrzyma listę tabel skojarzonych z daną aplikacją.
Ten interfejs nie ma być publiczny. Ma na celu uzyskanie łatwego dostępu do bazy danych. Składa się z dwóch plików, a mianowicie - kontrolera“appadmin.py” i widok “appadmin.html”.
Jednorazowo może podzielić do 100 rekordów. Korzystanie z“appadmin” omówiono w kolejnych rozdziałach.