200
Rozdział 5.
Specyfikacja aplikacji WWW
Czego oczekujemy od naszej aplikacji WWW?
Choć bardzo nas kusi, aby jak zawsze po prostu zacząć pisać kod, powinniśmy się najpierw
zastanowić, jak ma działać nasza aplikacja sieciowa.
Użytkownicy będą korzystali z aplikacji WWW za pomocą swoich ulubionych przeglądarek
internetowych. Aby uzyskać dostęp do świadczonych przez nią usług, muszą jedynie
wprowadzić odpowiedni URL w polu adresu przeglądarki i nacisnąć klawisz
Enter. W wyniku
tego w oknie przeglądarki powinna się pojawić strona internetowa prosząca użytkownika
o podanie argumentów funkcji
search4letters
. Po ich wprowadzeniu użytkownik powinien
kliknąć przycisk, aby zobaczyć wyniki.
Przypomnij sobie wiersz
def
naszej najnowszej wersji funkcji
search4letters
, który określa,
że spodziewa się ona co najmniej jednego lecz nie więcej niż dwóch argumentów:
łańcucha znakowego
phrase
do przeszukania oraz łańcucha
letters
zawierającego
wyszukiwane znaki. Pamiętaj, że ten ostatni jest argumentem opcjonalnym (a jego domyślna
wartość to
aeiou
).
def search4letters(phrase:str, letters:str=’aeiou’) -> set:
Wiersz def funkcji
search4letters, która
przyjmuje jeden
lub dwa argumenty.
Witamy na stronie internetowej
search4letters!
Użyj tego formularza, aby określić
parametry wyszukiwania:request:
Fraza:
Litery:
Gdy będziesz gotów, kliknij ten przycisk:
aeiou
Zrób to!
Nasza strona
internetowa ma
tytuł i trochę
opisów.
Jedno pole
wprowadzania
umożliwia
podanie danych
dla argumentu
phrase, a drugie
umożliwia
wpisanie liter
tworzących
argument letters
(zwróć uwagę na
wartość domyślną).
Kliknięcie tego przycisku powoduje
przesłanie danych wprowadzonych
przez użytkownika do oczekującego
na nie serwera sieciowego.
Weźmy papierową serwetkę i naszkicujmy przewidywany wygląd
naszej strony. Poniżej znajdziesz szkic, który opracowaliśmy.
jesteś tutaj
201
Budowanie aplikacji WWW
Co się dzieje po stronie serwera sieciowego?
Gdy użytkownik kliknie przycisk
Zrób to!
, przeglądarka wysyła dane do oczekującego na nie serwera
sieciowego, który wydobywa wartości argumentów
phrase
i
letters
, a następnie wywołuje funkcję
search4letters
w imieniu czekającego teraz użytkownika.
Wszystkie wyniki zwrócone przez funkcję zwracane do przeglądarki użytkownika w postaci strony
internetowej, którą także naszkicowaliśmy na papierowej serwetce (pokazanej poniżej). Załóżmy
na razie, że użytkownik podał słowo „mierni” dla argumentu
phrase
i pozostawił domyślną wartość
aeiou
dla argumentu
letters
. Oto jak może wyglądać nasza strona internetowa z wynikami.
Oto Twoje wyniki:
Podałeś następujące dane:
Fraza:
Litery:
Gdy we frazie „mierni” wyszuka się litery
„aeiou”, zwrócone zostaną następujące
wyniki:
aeiou
mierni
{ ‘e’, ‘i’ }
Dane podane
przez
użytkownika
mu ponownie
pokazywane.
Pokazywane
mu również
wyniki zwrócone
przez funkcję
search4letters.
Czego potrzebujemy, aby ruszyć dalej?
Poza wiedzą, którą zdobyłeś już na temat języka Python, jedyną rzeczą potrzebną Ci do zbudowania
aplikacji WWW działającej po stronie serwera jest jakiś
framework aplikacji sieciowych
(ang. web
application framework
), zapewniający zbiór ogólnych, podstawowych technologii, na bazie których
możesz opracować swoją aplikację.
Mimo że korzystając wyłącznie z możliwości samego Pythona, da się od zupełnych podstaw zbudować
wszystko, czego tu potrzebujesz, szaleństwem byłoby już samo rozważanie takiej możliwości. Inni
programiści już dawno poświęcili swój czas, aby opracować odpowiednie frameworki sieciowe,
a język Python oferuje w tej kwestii duży wybór rozwiązań. Nie będziemy Cię jednak teraz zamęczać
koniecznością podjęcia decyzji dotyczącej frameworka najlepszego w naszej sytuacji, lecz wybierzemy
po prostu jedno z popularnych rozwiązań, noszące nazwę
Flask, a następnie ruszymy dalej.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.