Utwórz aplikację Hello World przy użyciu Flask Framework

Utwórz aplikację Hello World przy użyciu Flask Framework
W tym artykule obejmie przewodnik po pisaniu prostej aplikacji Hello World za pomocą ram „Flask” opartych na Pythonie. Flask można użyć do tworzenia minimalnych, rozszerzalnych i zaawansowanych aplikacji internetowych za pomocą zestawu bibliotek zawartych w jego module. Wszystkie próbki kodu w tym samouczku są testowane na Ubuntu 20.10 Posiadanie Python wersja 3.8.6 i kolba wersja 1.1.2.

O kolbie

Flask to oparte na Python Framework programowania aplikacji internetowych, który jest specjalnie zaprojektowany tak, aby był minimalny, aby zacząć od Ciebie. Pomaga to w szybkim prototypowaniu, szybkim rozwoju i szybkim wdrażaniu. Wszelkie zaawansowane funkcje, które musisz dodać do aplikacji internetowej, można dodać za pomocą rozszerzeń. Oficjalna strona kolby opisuje się jako „mikro” ramy, ponieważ pozostawia wszystkie główne decyzje dla samych użytkowników i niewiele decyduje o ich imieniu. Użytkownicy mogą wybrać własne silniki szablonów, biblioteki zarządzania bazami danych, narzędzia do sprawdzania poprawności formularzy i tak dalej, chociaż kolba ma pewne rozsądne wartości domyślne.

Instalowanie kolby w Linux

Jeśli używasz Ubuntu, możesz zainstalować kolbę, wykonując wspomniane polecenie:

$ sudo apt instal Python3-flash

Możesz uniknąć korzystania z wersji repozytorium i zainstalować najnowszą wersję Flask z Menedżera pakietów „PIP”, uruchamiając kolejne dwa polecenia:

$ sudo apt instal Python3-Pip
$ pip3 instaluj kolbę

Jeśli używasz dowolnej innej dystrybucji Linux, wyszukaj pakiety „Flask” w menedżerze pakietów lub zainstaluj je z narzędzia instalacyjnego pakietu „PIP”. Dalsze szczegółowe instrukcje są dostępne tutaj.

Po zakończeniu instalacji możesz sprawdzić wersję kolby za pomocą polecenia określonego poniżej:

$ Python3 -C "Import Flask; druk (kolba.__wersja__)"

Model klienta-serwera

Jak wspomniano wcześniej, kolba służy do tworzenia aplikacji internetowych. Zazwyczaj wszystkie frameworki programowania aplikacji internetowych w Python i innych językach programowania używają architektury klienta-serwera. Flask korzysta również z modelu klienta-serwera, w którym użytkownicy mogą pisać logikę po stronie serwera do tworzenia aplikacji internetowych lub stron internetowych. „Klient” tutaj odnosi się do przeglądarki internetowej lub dowolnej innej aplikacji, która umożliwia renderowanie stron internetowych za pomocą technologii HTML, JavaScript i CSS. Podczas gdy „serwer” odnosi się do serwera lokalnego lub zdalnego, na którym wykonywana jest aplikacja kolba napisana w języku Python.

Podczas uruchamiania aplikacji Flask Local na komputerze lokalny serwer jest automatycznie tworzony, aby obsługiwać aplikację internetową. Flask wyprowadzi adres URL LocalHost w terminalu. Możesz odwiedzić ten adres URL w dowolnej przeglądarce internetowej, aby wyświetlić wynik końcowy. Możesz także skonfigurować zdalny serwer, aby ułatwić komunikację między klientem a serwerem oraz uruchomić własną publiczną stronę internetową lub aplikację internetową.

Możesz utworzyć kod HTML, JavaScript i CSS potrzebny dla Twojej aplikacji internetowej za pomocą kodu bocznego serwera napisanego w kolbie i Pythonie. Ale po wdrożeniu aplikacji internetowej i uruchamianie jej w przeglądarce internetowej, Twoja aplikacja internetowa nie zobaczy ani nie zrozumie kodu Pythona. Przetwarza HTML, JavaScript i CSS tylko, ponieważ tylko te technologie są głównie obsługiwane przez przeglądarki internetowe. Nadal będziesz mógł komunikować się z serwerem od strony klienta za pomocą żądań HTTP. Możesz bardzo przekazać dane z klienta na serwer, przetworzyć je za pomocą logiki po stronie serwera i zwrócić wynik.

Tak więc w zależności od rodzaju opracowywanej aplikacji internetowej, być może będziesz musiał zdecydować, gdzie zaimplementować logikę: po stronie serwera lub klienta po podstawie przypadku.

Prosta aplikacja Hello World w kolbie

Możesz użyć poniższej próbki kodu, aby utworzyć uproszczoną aplikację „Hello World” w kolbie, aby rozpocząć:

z kolby importowej kolby
App = Flask (__ name__)
@App.trasa('/')
def hello_world_app ():
message = "Hello World!!"
wiadomość zwrotna

Pierwsza instrukcja w powyższej próbce kodu importuje klasę „kolby” z modułu „Flask”. Po zaimportowaniu będziesz mógł użyć wszystkich metod dostępnych w klasie „Flask”.

W następnym oświadczeniu tworzona jest nowa instancja klasy „Flask”, a nazwa pliku jest dostarczana jako argument. Jeśli używasz tylko jednego „.plik py ”bez dodatkowego„ __init__.plik py ”zwykle używany podczas tworzenia struktury pliku dla pakietu Pythona, nazwa będzie miała hardkodowaną wartość„ __main__ ”. Argument „__Name__” mówi Folask, gdzie szukać plików związanych z wykonywaną aplikacją Flask. Możesz także dostarczyć własną ścieżkę niestandardową do plik głównej kolby zamiast dostarczenia argumentu „__name__”. Ale zazwyczaj większość programistów używa tylko „__name__” i wydaje się, że jest to standardowa praktyka.

Następnie aplikacja „dekoracja”.Trasa ”jest dołączona do funkcji„ hello_world_app ”. Funkcje dekoracyjne rozciągają lub modyfikują funkcję, do której są dołączone, nie zmieniając. Tutaj „App.Dekorator jest używany do określenia ścieżki URL, w której będzie działać podłączona funkcja. Symbol „/” każe Flask, aby wykonała funkcję na adresie URL „/”, która oznacza domenę „root” lub „root” URL. Na przykład, jeśli adres URL dla Twojej aplikacji jest „aplikacja.com ”, funkcja zostanie uruchomiona dla„ App.COM ”URL. Możesz to zmienić na coś innego. Na przykład za pomocą dekoratora „@App.trasa ('/helloworld') ”, możesz mapować funkcję do„ aplikacji.com/helloworld ”URL.

Wreszcie funkcja „hello_world_app” służy do zwracania treści, którą chcesz wyświetlić w przeglądarce internetowej, gdy uruchomi się aplikacja internetowa.

Uruchamianie aplikacji Flask

Aby uruchomić aplikację do kolby w Linux, musisz uruchomić polecenie w następującym formacie:

$ Export Flask_App = Main.py
$ folask bieg

Zmień „Główny.w razie potrzeby py ”, aby dopasować to do własnego .Plik „PY”, w którym napisałeś kod kolby. Drugie polecenie uruchamia aplikację Flask. Możesz także uruchomić to alternatywne polecenie:

$ Flask_app = main.Py Flask Run

Po uruchomieniu tych poleceń powinieneś zobaczyć takie dane wyjściowe:

Po prostu otwórz adres URL wspomniany w terminalu w przeglądarce internetowej, aby zobaczyć Twoją aplikację w akcji.

Możesz uruchomić aplikację Flask w trybie debugowania, używając zmiennej środowiskowej „Flask_ENV” w następującym formacie:

$ Flask_env = program rozwoju flash_app = main.Py Flask Run

Korzystanie z silnika szablonu Jinja2

Flask używa „Jinja2” do szablonu silnika, aby ułatwić pisanie kodu HTML w Python. Możesz go użyć, aby ustawić znacznik dla „Hello World!!" wiadomość.

Utwórz nowy katalog o nazwie „Szablony”, w którym znajduje się twój główny skrypt kolby. W katalogu „szablonu” utwórz nowy plik o nazwie „hw_template.html ”. Otwórz „hw_template.plik html ”i umieść w nim następujący kod:


Witaj świecie!!
% jeśli kolor %

Witaj świecie!!


% w przeciwnym razie %

Witaj świecie!!


% endif %

Ten kod jest napisany w składni, którą rozumie „jinja2”. Możesz zapoznać się z dokumentacją „Jinja2” dostępną tutaj. Szablon znaczników sprawdza, czy zmienna o nazwie „kolor” została do niej przekazana, czy nie. Jeśli tak, to zmienia kolor „Hello World!!„Wiadomość za pomocą wartości ze zmiennej„ kolor ”przekazana do niej.

Aby przekazać zmienną do szablonu „jinja2”, musisz napisać kod w następującym formacie:

@App.trasa('/')
def hello_world_app ():
return render_template ('hw_template.html ', color = „czerwony”)

Metoda „render_template” służy do składania znaczników z pliku szablonu „jinja2”. Możesz podać mu nazwę szablonu, który chcesz wydać i wszelkie argumenty, które chcesz przekazać szablonowi. „Hw_template.Szablon HTML ”używany powyżej przetwarza zmienną„ kolor ”po przekazaniu jej kodu kolby jako zmiennej„ koloru ”o wartości„ czerwonej ”. Po uruchomieniu próbki kodu wymienionej powyżej, należy uzyskać następujący wynik:

Możesz także przekazać zmienne wartości z samego adresu URL. Spójrz na poniższą próbkę kodu:

@App.trasa('/')
@App.trasa('/')
def hello_world_app (color = "blue"):
return render_template ('hw_template.html ', kolor = kolor)

Dwie ścieżki URL lub trasy są dołączone do funkcji „hello_world_app”. Podczas wizyty domeny root (przykład „aplikacja.com ”), zobaczysz„ Hello World!!„Wiadomość w kolorze niebieskim jako domyślna wartość dla zmiennej„ kolor ”jest zdefiniowana jako„ niebieska ”i jest to wartość, którą przechodzisz również do szablonu„ jinja2 ”.

Druga ścieżka zdefiniowana przez „@App.trasa ('/') ”używa specjalnej składni. W symboli „” możesz zdefiniować dowolne zmienne, aby przekazać funkcję „hello_world_app”. Wartość domyślna dla tej zmiennej jest zdefiniowana jako argument dla funkcji „hello_word_app”. Następnie przekazujesz własną zmienną niestandardową jako argument do metody „render_template” i ustaw jej wartość na zdefiniowaną zmienną podczas dekorowania funkcji nową trasą niestandardową.

Na przykład „Witaj świat !!„Wiadomość zmieni się na kolor czerwony podczas wizyty„ aplikacja.COM/RED ”URL, ale pozostanie niebieski, gdy odwiedzisz„ aplikację.COM ”URL. Oto porównanie obok siebie:

Wniosek

Flask to potężna struktura programowania aplikacji internetowych, której można użyć do tworzenia zarówno prostych, jak i zaawansowanych aplikacji. Ten samouczek wyjaśnia głównie stworzenie prostego „Hello World!!”Aplikacja. Możesz podłączyć go do bazy danych i użyć rozszerzeń w celu dalszego rozszerzenia jego funkcjonalności. Zapoznaj się z dokumentacją Flask, aby dowiedzieć się więcej o zarządzaniu bazami danych i rozszerzeniami.