Podstawy platformy Flask

Ukończone

Usługa Flask to „mikrostruktura” internetowa typu open source. Gdy twórcy używają terminu „mikrostruktura”, oznacza to, że struktura będzie wykonywać wymagane zadania struktury internetowej, ale nie obejmuje to funkcji zaawansowanych ani innych określonych wymagań, które aplikacja musi wykonać do poprawnego działania. Takie podejście umożliwia platformie Flask bardzo elastyczne i idealne rozwiązanie do użycia jako frontonu dla istniejących zapleczy lub interfejsów API — takich jak usługi Azure AI.

W przypadku tworzenia aplikacji internetowych przy użyciu dowolnej platformy istnieje kilka podstawowych pojęć, które należy poznać — czyli routing, metody i tworzenie szablonów. Zapoznajmy się z tymi pojęciami przed przystąpieniem do pisania kodu.

Reagowanie na żądania użytkowników przy użyciu tras

Gdy użytkownik korzysta z aplikacji internetowej, wybiera, co chce zrobić, lub wyszukuje informacje, przechodząc pod różne adresy URL (Uniform Resource Locator). Użytkownicy mogą wpisać adres bezpośrednio (na przykład https://adventure-works.com) lub wybrać łącze lub przycisk, który zawiera odpowiedni adres URL. W witrynie handlu elektronicznego mogą występować adresy URL, które wyglądają następująco:

  • https://adventure-works.com/ jako strona główna
  • https://adventure-works.com/products/widget jako szczegóły na widżecie
  • https://adventure-works.com/cart/buy jako strona operacji zakupu

Jako deweloperzy, nie musimy martwić się o pierwszą część adresu URL lub domeny (w naszym przykładzie adventure-works.com). Nasza aplikacja działa w zależności od nazwy domeny, rozpoczynającej się od /. Część po nazwie domeny jest znana jako trasa.

Trasa jest ścieżką do działania. Podobnie jak w przypadku naciśnięcia przycisku w aplikacji mobilnej, trasa wskazuje działanie, którą użytkownik chce wykonać. Będziemy rejestrować różne trasy w naszej aplikacji internetowej, aby reagować na różne żądania obsługiwane przez naszą aplikację.

W naszej aplikacji określamy, w jaki sposób chcemy zareagować na określone żądanie trasy, podając funkcję. Trasa to droga do funkcji. Jeśli myślimy ogólnie o pisaniu kodu, pojęcie to jest stosunkowo naturalne. Gdy chcemy wykonać konkretne działanie, wywołujemy daną funkcję. Wszyscy użytkownicy będą robić dokładnie to samo! Robią to jednak w nieco inny sposób, uzyskując dostęp do trasy.

Metody lub zlecenia

Dostęp do tras można uzyskać na wiele sposobów, znanych jako metody lub zlecenia (te dwa terminy oznaczają to samo i mogą być używane zamiennie). Sposób uzyskiwania dostępu do trasy zapewnia dodatkowy kontekst dotyczący stanu żądania użytkownika oraz działań, które użytkownik chce wykonać.

Podczas tworzenia aplikacji internetowej dostępnych jest wiele metod, ale tylko dwie z nich są najczęściej stosowane: GET i POST i tylko nimi się zajmiemy. Metoda GET zwykle wskazuje, że użytkownik żąda informacji, podczas gdy metoda POST wskazuje, że użytkownik musi wysłać polecenie oraz odebrać odpowiedź.

Uwaga

Niezależnie od użytego zlecenia, informacje mogą zawsze być odesłane do użytkownika.

Typowy przepływ aplikacji z metodami GET i POST wiąże się z użyciem formularza. Załóżmy, że napiszemy aplikację, w której użytkownik chce zarejestrować się w celu uzyskania listy adresowej:

  1. Użytkownik uzyskuje dostęp do formularza rejestracji za pomocą metody GET
  2. Użytkownik uzupełnia formularz i wybiera przycisk Prześlij
  3. Informacje z formularza są wysyłane z powrotem na serwer przy użyciu metody POST
  4. Do użytkownika zostanie zwrócony komunikat o powodzeniu

Jak można podejrzewać, użytkownik nie będzie bezpośrednio wskazywać zlecenia, którego chce użyć, ponieważ jest to kontrolowane przez aplikację. Ogólnie w przypadku, gdy użytkownik przechodzi bezpośrednio do adresu URL, wpisując go w lub wybierając łącze, uzyskuje dostęp do strony przy użyciu metody GET. Po wybraniu przycisku formularza informacje te są zwykle wysyłane przy użyciu metody POST.

Uwaga

Rozważania te są na względnie ogólnym poziomie, ponieważ pełne omówienie metod wykracza poza zakres tego modułu.

Szablony

HTML (Hypertext Markup Language) to język używany do porządkowania informacji wyświetlanych w przeglądarce, natomiast kaskadowe arkusze stylów (CSS) służą do zarządzania stylami i układami. W przypadku tworzenia aplikacji większość kodu HTML będzie statyczna, co oznacza, że nie będzie ulegać zmianie. Jednak aby uzyskać dynamiczne strony, muszą one mieć możliwość programowego umieszczania informacji na stronie HTML. Niemal każde środowisko internetowe obsługuje to wymaganie za pośrednictwem szablonów.

Szablon pozwala napisać podstawowy kod HTML (lub szablon) i wskazać symbole zastępcze dla informacji dynamicznych. Prawdopodobnie najbardziej typową składnią dla symboli zastępczych jest {{ }}. Jinja, aparat tworzenia szablonów w usłudze Flas, korzysta z tej składni.

<h1>Welcome, {{ name }}</h1>

W poprzednim przykładzie mamy kod HTML h1 (nagłówek) z tekstem, który chcemy wyświetlić. {{ name }} wskazuje, że chcemy wyświetlić zmienną o nazwie name bezpośrednio po wyrazie Welcome. Korzystając z tej składni, możemy napisać nasz kod HTML, wykorzystując nasze obecne umiejętności oraz — w razie potrzeby — wprowadzić informacje dynamiczne.

Sprawdź swoją wiedzę

1.

W których z poniższych języków można tworzyć aplikacje internetowe za pomocą platformy Flask?