python flask tutorial introduction flask
Ten wprowadzający samouczek Python Flask wyjaśnia, czym jest Flask, instalacja Pythona, Virtualenv, przykład Flask Hello World z sekcją na temat przykładów kodu, debugowania i testowania:
Tworzenie stron internetowych to bardziej sztuka niż umiejętność. Wymaga cierpliwości i staranności, a także wytrwałości, odwagi i poświęcenia, aby stworzyć to, co jest konieczne, aby odnieść prawdziwy sukces. W dzisiejszych czasach uczniowie powinni jak najszybciej przyspieszyć.
Stworzyliśmy ten samouczek dotyczący Python Flask, aby uczniowie mogli przyspieszyć i zaimplementować proste i złożone programowanie internetowe przy użyciu Python 3.
Ten samouczek Python Flask jest bardziej podobny do samouczka dla początkujących flask, który obejmuje instalację Pythona, Virtualenv i innych niezbędnych pakietów. W tej serii samouczków zainstalujemy również Flask wraz z innymi niezbędnymi wtyczkami Flask. Dołączyliśmy również sekcję dotyczącą debugowania kodu, testowania i ciągłej integracji przy użyciu akcji Git.
Czego się nauczysz:
Lista samouczków w tej serii kolb
Samouczek nr 1: Python Flask Tutorial - Wprowadzenie do Flask dla początkujących
Samouczek nr 2: Szablon kolby, formularz, widok i przekierowanie z przykładami
Samouczek nr 3: Obsługa bazy danych kolb - jak używać kolby z bazą danych
Samouczek nr 4: Aplikacja Flask i układ projektu Flask z Blueprint i Bootstrap
Samouczek nr 5: Wzorce projektowe Flask i najlepsze praktyki dla aplikacji internetowych
Samouczek nr 6: Samouczek interfejsu Flask API z przykładem | Rozszerzanie Flask z API
Samouczek nr 7: Węzeł Django Vs Flask Vs: Którą strukturę wybrać
Samouczek nr 8: 31 najpopularniejszych pytań do wywiadów z Python Flask z odpowiedziami
Co to jest Flask
Flask to framework do tworzenia stron internetowych. Jest to framework z wbudowanym serwerem programistycznym i debugerem.
unix commands pytania i odpowiedzi do wywiadu pdf
Sama struktura Flask różni się od innych archetypów, ponieważ pozwala twórcom stron internetowych na elastyczność i wygodne dostosowywanie się do często wprowadzanych zmian w społeczności programistów.
Do czego służy kolba
Używamy frameworka Flask do tworzenia aplikacji internetowych w języku programowania Python. Integruje się z innymi usługami i interfejsami API innych firm, aby zapewnić bogactwo i znaczenie opracowywanej aplikacji. Podstawowe pojęcia Flask są proste i zajmują niewiele miejsca.
Zacznijmy od tego samouczka Python Flask, aby zrozumieć tworzenie stron internetowych za pomocą repozytorium Flask GitHub. Jednak przed kontynuowaniem sklonuj projekt z Github, aby ułatwić śledzenie omówionych przykładów kodu.
Wymagania wstępne
Poza wymienionymi nagłówkami w tej sekcji zalecamy utworzenie konta Github. Przejdźmy do poniższych kroków w wymaganiach wstępnych.
Krok 1: Zainstaluj Python
Sprawdź, czy masz zainstalowany Python 3, czy nie. Jeśli nie, pobierz Python 3 z tutaj i zainstaluj go zgodnie z systemem operacyjnym.
Krok 2: Utwórz środowisko wirtualne Pythona
Utwórz środowisko wirtualne za pomocą poniższego polecenia.
python3 -m venv venv
Użyj poniższego polecenia, aby aktywować środowisko wirtualne Python.
source venv/bin/activate
Poniżej podaliśmy przykład aktywacji i dezaktywacji środowiska wirtualnego.
Wszystkie kolejne polecenia w tym samouczku powinny działać w aktywowanym środowisku wirtualnym. Zainstaluj pakiet kół, abyśmy mogli budować koła w środowisku wirtualnym.
pip install wheel
Krok 3: Pobieranie i instalowanie Flask
Musimy wykonać kroki pobierania Flask i zainstalować Flask, wykonując poniższe kroki.
Teraz zainstaluj Flask.
pip install flask
Niektórzy z nas lubią pracować z najnowszymi zmianami w kodzie źródłowym. Możemy użyć poniższego polecenia, aby zainstalować z najnowszymi zmianami w źródłach Flaska.
Utwórz katalog tymczasowy.
mkdir tmp
Teraz zainstaluj Flask z repozytorium Github. Aby poniższe polecenie zadziałało, musisz pozostać połączony z Internetem.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Spójrz na wyjścia konsoli, aby sprawdzić pomyślną instalację. Teraz sprawdź, czy mamy dostęp do poleceń Flaska.
flask --help
Możesz zobaczyć pewne wyjątki dotyczące braku aplikacji Flask. Jednak zaniedbaj je, ponieważ nie stworzyliśmy żadnej aplikacji Flask. Nasza aplikacja jest instancją Flaska, który jest opakowaniem we frameworku Werkzeug i silniku szablonów Jinja.
Narzędzie
Werkzeug to zestaw narzędzi WSGI. WSGI jest tylko konwencją wywoływania przekazywania dalej przez serwery WWW żądania internetowe do aplikacji internetowych napisanych w języku programowania Python.
Jinja
Tworzenie szablonów to podstawowy zestaw umiejętności twórców stron internetowych. Jinja to w pełni funkcjonalny i popularny silnik szablonów dla Pythona. Jest to dość ekspresyjny język i zapewnia autorom szablonów solidny zestaw narzędzi.
Krok 4: Zainstaluj MongoDB
Wykonaj poniższe czynności, aby zainstalować MongoDB. Przedstawiliśmy kroki, aby zainstalować go w systemie Linux opartym na Debianie. Jeśli używasz innego systemu operacyjnego, uzyskaj dostęp do połączyć i zainstaluj zgodnie z zamierzonym systemem operacyjnym.
Zainstaluj gnupg do importowania publicznego klucza GPG MongoDB.
sudo apt-get install gnupg
Teraz zaimportuj klucz za pomocą poniższego polecenia.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Utwórz plik listy źródeł zgodnie z dystrybucją Linuksa. Dodaliśmy listę źródeł według Debiana.
echo 'deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Uruchom polecenie aktualizacji
sudo apt-get update
Teraz zainstaluj MongoDB, używając poniższego polecenia.
sudo apt-get install -y mongodb-org
Po pomyślnym zakończeniu instalacji uruchom MongoDB za pomocą poniższego polecenia.
sudo systemctl start mongod
Sprawdź status MongoDB za pomocą poniższego polecenia.
sudo systemctl status mongod
Teraz upewnij się, że mongod automatycznie uruchamia się przy ponownym uruchomieniu systemu, wydając poniższe polecenie.
sudo systemctl enable mongod
Teraz sprawdź, czy możesz połączyć się z serwerem MongoDB za pomocą klienta mongo.
mongo
W powłoce mongo spróbuj skorzystać z pomocy i wyświetlić polecenia dbs.
Utwórz aplikację Flask
Użyj poniższego polecenia, aby zainstalować flask-appbuilder i mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Utwórz aplikację szkieletową z wartościami wyświetlanymi jako komentarze w poniższym fragmencie kodu.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Zobaczymy dane wyjściowe podobne do podanych poniżej.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Spójrz na układ projektu i aplikacji. Poniżej pokazaliśmy wynik polecenia drzewa.
Rzućmy okiem na plik konfiguracyjny Flask. Jest to domyślna konfiguracja wygenerowana jako wynik ostatniego polecenia. Odkomentuj Cyborg motyw, jak pokazano poniżej.
# Theme configuration for Cybord=g # these themes are located on static/appbuilder/css/themes # We can create our own and easily use them by placing them on the same dir structure to override #APP_THEME = 'bootstrap-theme.css' # default bootstrap #APP_THEME = 'cerulean.css' # cerulean #APP_THEME = 'amelia.css' # amelia theme #APP_THEME = 'cosmo.css' # cosmo theme APP_THEME = 'cyborg.css' # cyborg theme #APP_THEME = 'flatly.css' # flatly theme
Aby uruchomić aplikację szkieletową, użyj poniższego polecenia na terminalu.
flask run
Flask Hello World
Aby utworzyć pierwszy program w aplikacji flaskTutorialApp, otwórz plik views.py w katalogu aplikacji i dodaj następujący kod. Poszukaj instrukcji importu podanych w pliku. Dodaj te stwierdzenia, jeśli jeszcze nie istnieją.
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): ''' This first view of the tutorial ''' route_base = '/hello' @expose('/') def hello(self): return 'Hello, World! from Software Testing Help' # at the end of the file appbuilder.add_view_no_menu(HelloWorld())
Zapisz plik po dodaniu powyższego kodu źródłowego. Przejdź do katalogu głównego projektu i użyj poniższego polecenia, aby uruchomić serwer deweloperski Flask.
dbms open source to:
flask run
Teraz przejdź do http: // localhost: 5000 / hello /, aby zobaczyć dane wyjściowe w przeglądarce.
Debugowanie
Obecnie serwer deweloperski nie działa w trybie debugowania. Bez trybu debugowania trudno jest znaleźć błędy w kodzie źródłowym aplikacji Flask.
Tryb debugowania w Flask daje następujące wyniki:
- Tryb debugowania aktywuje automatyczne przeładowywanie. Oznacza to, że po wprowadzeniu zmian w kodzie źródłowym aplikacji nie musimy restartować serwera deweloperskiego.
- Tryb debugowania aktywuje debuger języka Python. Możemy sprawdzić wartości zmiennych podczas wyjątku.
- Tryb debugowania umożliwia debugowanie aplikacji Flask. Możemy sprawdzić wartości różnych zmiennych podczas sesji debugowania.
Zatrzymaj serwer deweloperski, jeśli już działa. Możesz użyć CTRL + C lub przerwania klawiatury, aby zrobić to samo.
Użyj poniższego kodu, aby włączyć tryb debugowania i tymczasowo uruchomić serwer deweloperski.
FLASK_ENV=development flask run
Wyszukaj w konsoli kod PIN debugera i zanotuj go.
Teraz zmieńmy powyższy widok HelloWorld następującymi wierszami fragmentu kodu. Zwróć uwagę, że wprowadziliśmy niestandardowy wyjątek.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Przejdź do http: // localhost: 5000 / hello /, a zobaczysz, że aplikacja zgłosiła wyjątek. Przeglądarka wyświetla ślad stosu, jak pokazano poniżej.
Ponadto spójrz na konsolę, na której działa serwer deweloperski. Przekonasz się, że tym razem zmiany w pliku views.py są wykrywane automatycznie, a serwer debugowania uruchamia się samoczynnie. Teraz nie musimy go ręcznie restartować.
Konsola będzie miała linie, jak pokazano poniżej. Musimy zanotować kod PIN debugowania na później.
* Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading 2020-06-02 14:59:49,354:INFO:werkzeug: * Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading * Restarting with stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Restarting with stat * Debugger is active! * Debugger PIN: 150-849-897
Teraz sprawdź ślad stosu w przeglądarce i przejdź do ostatniej linii. Kliknij go, aby rozwinąć jego widok i kliknij ikonę CLI, aby otworzyć powłokę w trybie interaktywnym.
Po otwarciu zobaczysz, że przeglądarka wyświetli monit o wprowadzenie kodu PIN debugowania. Podaj PIN debugowania i kliknij OK.
Gdy przejdziemy dalej po podaniu kodu PIN debugowania, możemy uzyskać dostęp do powłoki interaktywnej.
Uzyskujemy dostęp do powłoki z poziomu przeglądarki i możemy sprawdzić wartości zmiennych, aby znaleźć przyczynę wyjątku i lepiej obsłużyć błąd. Proszę spojrzeć na jeden z przykładów pokazanych na poniższym obrazku.
Teraz zmień kod w view.py, jak pokazano poniżej. Zwróć uwagę, że skomentowaliśmy wiersz, który wywołał wyjątek.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Testowanie aplikacji kolby
Napiszmy teraz nasz pierwszy test dla aplikacji Flask, którą tworzymy. Najpierw zainstaluj PyTest. PyTest to platforma testowa. Pomaga nam pisać lepszy kod.
Co więcej, tylko dlatego, że podczas tworzenia naszych aplikacji możemy pisać testy jednostkowe, możliwe jest zastosowanie podejścia TDD. TDD to skrót od Test-Driven Development. W naszych kolejnych samouczkach z tej serii zawsze będziemy najpierw pisać testy i rozwijać nasze widoki lub modele.
Zainstaluj PyTest
pip install pytest
Teraz utwórz katalog o nazwie testy w katalogu aplikacji iw nim utwórz plik o nazwie test_hello.py. Napiszmy nasz pierwszy test jednostkowy, aby przetestować nasz pogląd.
Skopiuj poniższy fragment kodu i wklej go do test_hello.py.
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): ''' A pytest fixture for test client ''' appbuilder.app.config('TESTING') = True with appbuilder.app.test_client() as client: yield client def test_hello(client): ''' A test method to test view hello ''' resp = client.get('/hello', follow_redirects=True) assert 200 == resp.status_code
Użyj poniższego polecenia pytest, aby uruchomić testy. PyTest automatycznie zbiera testy i wyświetla wyniki na standardowym wyjściu.
Utwórz przepływ pracy GitHub
Używamy akcji Git do tworzenia przepływu pracy CI / CD dla naszej przykładowej aplikacji. Wykonaj poniższe kroki dla swojego projektu.
Krok 1: Przejdź do strony repozytorium na GitHub. Kliknij Działania Git.
Krok 2: Przewiń stronę w dół i znajdź istniejący szablon przepływu pracy dla pakietu Python.
Krok 3: Skonfiguruj przepływ pracy pakietu Python.
Krok 4: Po otwarciu konfiguracji przepływu pracy python-package.yml zaktualizuj ją na podstawie podanych dodatkowych wartości tagów yaml.
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: (3.7, 3.8) mongodb-version: (4.2) steps: - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} # other values
Chcemy przetestować naszą aplikację Flask na najnowszej dystrybucji Ubuntu Linux. Oprócz systemu operacyjnego chcemy uruchamiać nasze testy tylko w Pythonie 3.7 i Pythonie 3.8.
Krok 5: Zatwierdź python-package.yml zaktualizowanymi wartościami.
Krok 6: Zatwierdzenie na poprzedniej stronie przenosi nas do zadań GitActions.
Krok 7: (Opcjonalny)
Na stronie Github Jobs dla przykładowej aplikacji samouczka możemy utworzyć odznakę i umieścić ją w pliku README.md w celu wyświetlenia stanu kompilacji.
Teraz, gdy zmiany zostaną zatwierdzone w gałęzi głównej, Git Workflow, jak napisano w python-package.yml, będzie śledzony i uruchamiany w Git Actions.
Wniosek
W tym samouczku omówiliśmy wszystkie podstawowe koncepcje, od wymagań wstępnych po konfigurację przepływu pracy CI / CD dla aplikacji internetowej opracowanej przy użyciu Flask - platformy programistycznej opartej na języku Python.
Ten samouczek obejmuje wszystkie niezbędne kroki, takie jak instalowanie Pythona, pobieranie i instalowanie Flaska, praca z Flask-Appbuilder, testowanie z PyTestem itp., Aby rozpocząć tworzenie stron internetowych w Pythonie. Społeczność programistów internetowych zwykle porównuje Flask z innym popularnym frameworkiem programistycznym Pythona o nazwie Django.
Wyjaśnimy te różnice, a także porównamy te ramy w jednym z samouczków z tej serii.
rekomendowane lektury
- Węzeł Django Vs Flask Vs: Którą strukturę wybrać
- Samouczek interfejsu Flask API z przykładem | Rozszerzanie Flask z API
- Aplikacja Flask i układ projektu Flask z Blueprint i Bootstrap
- Obsługa bazy danych kolb - jak używać kolby z bazą danych
- Wzorce projektowe Flask i najlepsze praktyki dla aplikacji internetowych
- Szablon kolby, formularz, widok i przekierowanie z przykładami
- 31 najpopularniejszych pytań do wywiadów z Python Flask z odpowiedziami
- Samouczek Pythona dla początkujących (praktyczne BEZPŁATNE szkolenie Python)