python flask tutorial introduction flask
Tento úvodný tutoriál o Python Flask vysvetľuje, čo je Flask, inštalácia príkladov Python, Virtualenv, Flask Hello World, s časťou o príkladoch kódu, ladení a testovaní:
Vývoj webových stránok je viac umenie ako zručnosť. Vyžaduje trpezlivosť a usilovnosť spolu s vytrvalosťou, odvahou a odhodlaním vytvoriť všetko potrebné na to, aby bol skutočný úspech. V dnešnej dobe je nevyhnutné, aby sa študenti čo najskôr dostali k rýchlosti.
Tento výukový program pre Python Flask sme vytvorili pre študentov, aby sa zrýchlili a implementovali jednoduché aj zložité webové programovanie pomocou Pythonu 3.
Tento tutoriál pre Python Flask je skôr ako tutoriál pre banku pre začiatočníkov, ktorý sa bude zaoberať inštaláciou Pythonu, Virtualenv a ďalších základných balíkov. V tejto sérii tutoriálov nainštalujeme aj Flask spolu s ďalšími potrebnými pluginmi Flask. Zahrnuli sme tiež časť o ladení kódu, testovaní a nepretržitej integrácii pomocou Git Actions.
Čo sa dozviete:
Zoznam návodov v tejto sérii baniek
Výukový program č. 1: Výukový program pre fľašu Python - Úvod do banky pre začiatočníkov
Výukový program č. 2: Šablóna banky, formulár, pohľad a presmerovanie s príkladmi
Výukový program č. 3: Zaobchádzanie s bankovou databázou - Ako používať banku s databázou
Výukový program č. 4: Aplikácia banky a rozloženie projektu banky s modrotlačou a bootstrapom
Výukový program č. 5: Dizajnové vzory banky a osvedčené postupy pre webové aplikácie
Výukový program č. 6: Výukový program pre Flask API s príkladom Rozšírenie banky s API
Výukový program č. 7: Uzol Django Vs Flask Vs: Ktorý rámec zvoliť
Výukový program č. 8: Top 31 populárnych otázok na rozhovor s pythonovskou bankou s odpoveďami
Čo je to banka
Flask je rámec pre vývoj webových aplikácií. Jedná sa o rámec so zabudovaným vývojovým serverom a debuggerom.
nástroj na prevod videa z youtube na mp3
Samotný rámec Flask sa líši od ostatných archetypov, pretože umožňuje webovým vývojárom flexibilitu a pohodlné prispôsobenie sa často vydávaným zmenám v komunite pre vývoj softvéru.
Na čo sa používa banka
Flask framework používame na vývoj webových aplikácií v programovacom jazyku Python. Integruje sa s ďalšími službami a API tretích strán, aby priniesla bohatosť a zmysel vyvíjanej aplikácii. Základné koncepty banky sú jednoduché a majú malú stopu.
Začnime týmto tutoriálom pre Python Flask, ktorý slúži na pochopenie vývoja webu pomocou úložiska Flask GitHub. Pred pokračovaním však naklonujte projekt z Githubu, aby ste mohli ľahko nadviazať na diskutované príklady kódu.
Predpoklady
Okrem uvedených nadpisov v tejto časti odporúčame vytvoriť účet Github. V nevyhnutných podmienkach pokračujeme nižšie uvedenými krokmi.
Krok 1: Nainštalujte Python
Skontrolujte, či máte nainštalovaný Python 3 alebo nie. Ak nie, stiahnite si Python 3 z tu a nainštalujte ho podľa operačného systému.
Krok 2: Vytvorte virtuálne prostredie Pythonu
Vytvorte virtuálne prostredie pomocou nižšie uvedeného príkazu.
python3 -m venv venv
Pomocou nižšie uvedeného príkazu aktivujte virtuálne prostredie Pythonu.
source venv/bin/activate
Ďalej uvádzame príklad aktivácie a deaktivácie virtuálneho prostredia.
Všetky nasledujúce príkazy v tomto výučbe by sa mali spúšťať v aktivovanom virtuálnom prostredí. Nainštalujte balík kolies, aby sme mohli vytvoriť kolesá vo virtuálnom prostredí.
pip install wheel
Krok 3: Stiahnutie banky a Insall
Musíme vykonať kroky na stiahnutie banky a nainštalovať ju pomocou nižšie uvedených krokov.
Teraz nainštalujte banku.
pip install flask
Niektorí z nás radi spolupracujú s najnovšími zmenami zdrojových kódov. Nižšie uvedený príkaz môžeme použiť na inštaláciu s najnovšími zmenami zdrojov Flask.
Vytvorte dočasný adresár.
mkdir tmp
Teraz nainštalujte Flask z úložiska Github. Nižšie uvedený príkaz bude fungovať, iba ak budete pripojený k internetu.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Pozrite sa na výstupy z konzoly a skontrolujte úspešnú inštaláciu. Teraz skontrolujte, či máme prístup k príkazom banky.
flask --help
Môže sa zobraziť niekoľko výnimiek týkajúcich sa absencie aplikácie Flask. Tieto však zanedbajte, pretože sme nevytvorili žiadnu aplikáciu Flask. Naša aplikácia je inštanciou banky, ktorá je obalom webového rámca Werkzeug a šablónového nástroja Jinja.
Nástroj
Werkzeug je sada nástrojov WSGI. WSGI je iba volacia konvencia, ktorú majú webové servery presmerovať webové požiadavky na webové aplikácie napísané v programovacom jazyku Python.
Jinja
Templating je základná sada zručností webových vývojárov. Jinja je plne vybavený a obľúbený šablónový nástroj pre Python. Je to dosť expresívny jazyk a poskytuje autorom šablón robustnú sadu nástrojov.
Krok 4: Nainštalujte MongoDB
Pri inštalácii MongoDB postupujte podľa nižšie uvedených krokov. Načrtli sme kroky na jeho inštaláciu do systému Linux založeného na Debiane. Ak používate iný operačný systém, prejdite na stránku odkaz a nainštalujte podľa zamýšľaného operačného systému.
Nainštalujte gnupg na importovanie verejného kľúča GPG MongoDB.
sudo apt-get install gnupg
Teraz importujte kľúč pomocou nižšie uvedeného príkazu.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Vytvorte súbor so zoznamom zdrojov podľa vašej distribúcie Linuxu. Pridali sme zoznam zdrojov podľa Debianu.
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
Spustite príkaz na aktualizáciu
sudo apt-get update
Teraz nainštalujte MongoDB pomocou nasledujúceho príkazu.
sudo apt-get install -y mongodb-org
Po úspešnej inštalácii spustite MongoDB pomocou nižšie uvedeného príkazu.
sudo systemctl start mongod
Skontrolujte stav MongoDB pomocou nižšie uvedeného príkazu.
sudo systemctl status mongod
Teraz zaistite, aby sa mongod automaticky spustil pri reštarte systému vydaním nižšie uvedeného príkazu.
sudo systemctl enable mongod
Teraz skontrolujte, či sa môžete pripojiť k serveru MongoDB pomocou klienta mongo.
mongo
V prostredí mongo shell skúste použiť pomocníka a ukázať príkazy dbs.
Vytvorte si bankovú aplikáciu
Pomocou nižšie uvedeného príkazu nainštalujte flask-appbuilder a mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Vytvorte skeletovú aplikáciu s hodnotami zobrazenými ako komentáre v nasledujúcom útržku kódu.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Uvidíme výstup podobný tomu, ktorý je uvedený nižšie.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Prezrite si rozloženie projektu a aplikácie. Ukázali sme výstup príkazu strom nižšie.
Pozrime sa na konfiguračný súbor Flask. Je to predvolená konfigurácia vygenerovaná ako výsledok posledného príkazu. Odkomentovať Kyborg téma, ako je uvedené nižšie.
# 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
Ak chcete spustiť aplikáciu skeleton, použite na termináli nižšie uvedený príkaz.
flask run
Baňka Hello World
Ak chcete vytvoriť svoj prvý program v aplikácii flaskTutorialApp, otvorte súbor views.py v adresári aplikácie a pridajte nasledujúci kód. Vyhľadajte príkazy na import uvedené v súbore. Pridajte tieto vyhlásenia, ak ešte nie sú k dispozícii.
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())
Po pridaní vyššie uvedeného zdrojového kódu súbor uložte. Prejdite do koreňového adresára projektu a pomocou nižšie uvedeného príkazu spustite vývojový server banky.
flask run
Teraz prejdite na adresu http: // localhost: 5000 / ahoj /, aby ste videli výstup v prehliadači.
Ladenie
Vývojový server momentálne nie je spustený v režime ladenia. Bez režimu ladenia je ťažké nájsť chyby v zdrojovom kóde aplikácie Flask.
Výsledkom režimu ladenia v banke je:
- Režim ladenia aktivuje automatický načítač. To znamená, že vývojový server nemusíme reštartovať po vykonaní zmien v zdrojovom kóde aplikácie.
- Režim ladenia aktivuje debugger Pythonu. Počas výnimky môžeme skontrolovať hodnoty premenných.
- Režim ladenia umožňuje ladenie aplikácií v banke. V ladiacich reláciách môžeme skontrolovať hodnoty rôznych premenných.
Zastavte vývojový server, ak je už spustený. Na to isté môžete použiť kombináciu klávesov CTRL + C alebo prerušenie klávesnice.
Použite nasledujúci kód na povolenie režimu ladenia a dočasné spustenie vývojového servera.
FLASK_ENV=development flask run
Vyhľadajte na konzole kód PIN ladiaceho nástroja a poznačte si ho.
Teraz poďme zmeniť vyššie napísané zobrazenie HelloWorld pomocou nasledujúcich riadkov útržku kódu. Všimnite si, že sme zaviedli vlastnú výnimku.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Prejdite na adresu http: // localhost: 5000 / ahoj / a uvidíte, že aplikácia vyvolala výnimku. Prehliadač zobrazí trasovanie zásobníka, ako je uvedené nižšie.

Ďalej sa pozrite na konzolu, na ktorej je spustený vývojový server. Uvidíte, že tentoraz sa zmeny v view.py zistia automaticky a ladiaci server sa sám reštartuje. Teraz to nemusíme manuálne reštartovať.
Konzola bude mať čiary, ako je znázornené nižšie. Debug PIN si musíme poznamenať na neskôr.
* 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 skontrolujte trasovanie zásobníka v prehliadači a prejdite na posledný riadok. Kliknutím na ňu rozšírite svoje zobrazenie a kliknutím na ikonu CLI otvoríte shell v interaktívnom režime.

Po otvorení uvidíte, že prehliadač zobrazí výzvu na zadanie ladiaceho kódu PIN. Zadajte ladiaci PIN a kliknite na OK.

Keď budeme pokračovať v zadávaní ladiaceho kódu PIN, môžeme vstúpiť do interaktívneho shellu.
K shellu pristupujeme z prehliadača a môžeme skontrolovať hodnoty premenných, aby sme našli príčinu výnimky a chybu lepšie spracovali. Prezrite si jeden z príkladov zobrazených na obrázku nižšie.

Teraz zmeňte kód v view.py, ako je uvedené nižšie. Všimnite si, že sme komentovali riadok, ktorý mal zvýšenú výnimku.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Testovanie aplikácie banky
Teraz napíšeme náš prvý test pre aplikáciu Flask, ktorú vyvíjame. Najskôr si nainštalujte PyTest. PyTest je testovací rámec. Pomáha nám to lepšie napísať kód.
Navyše, len preto, že pri vývoji našich aplikácií môžeme písať jednotkové testy, je možné postupovať podľa prístupu TDD. TDD znamená Test-Driven Development. V našich ďalších tutoriáloch tejto série vždy najskôr napíšeme testy a vypracujeme naše pohľady alebo modely.
Nainštalujte si PyTest
pip install pytest
Teraz vytvorte adresár s názvom testy v adresári aplikácie a v ňom vytvorte súbor s názvom test_hello.py. Poďme napísať náš prvý test jednotky, aby sme otestovali náš názor.
Skopírujte nasledujúci útržok kódu a vložte ho 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
Na spustenie testov použite nasledujúci príkaz pytest. PyTest automaticky zhromažďuje testy a zobrazuje výsledky na štandardnom výstupe.

Vytvorte pracovný postup GitHub
Používame Git Actions na vytvorenie pracovného toku CI / CD pre našu vzorovú aplikáciu. Postupujte podľa nižšie uvedených krokov pre váš projekt.
Krok 1: Prejdite na stránku úložiska na GitHub. Kliknite na Git Actions.

Krok 2: Prejdite nadol na stránke a vyhľadajte existujúcu šablónu pracovného toku pre balík Python.

Krok 3: Nastavte pracovný postup balíka Python.

Krok 4: Po otvorení konfigurácie pracovného postupu python-package.yml ho aktualizujte na základe daných ďalších hodnôt značiek 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
Chceme otestovať našu aplikáciu Flask na najnovšej distribúcii Ubuntu Linux. Okrem OS chceme naše testy spúšťať iba pomocou Pythonu 3.7 a Pythonu 3.8.
Krok 5: Potvrďte súbor python-package.yml s aktualizovanými hodnotami.

Krok 6: Potvrdenie na predchádzajúcej stránke nás zavedie k úlohám GitActions.

Krok 7: (Voliteľné)
Na stránke Úlohy Github pre ukážkovú výukovú aplikáciu môžeme vytvoriť odznak a umiestniť ho do súboru README.md na zobrazenie stavu zostavenia.
prevodník z YouTube na mp4 zadarmo online bez sťahovania
Teraz, kedykoľvek sa zmeny prejavia v hlavnej vetve, bude nasledovaný Git Workflow, ako je napísaný v python-package.yml, a bude bežať na Git Actions.
Záver
V tomto tutoriáli sme sa venovali všetkým základným konceptom od predpokladov až po nastavenie pracovného toku CI / CD pre webovú aplikáciu vyvinutú pomocou Flask - framework pre vývoj webových stránok založený na Pythone.
Tento tutoriál obsahuje všetky potrebné kroky, ako je inštalácia Pythonu, stiahnutie a inštalácia Flasku, práca s Flask-Appbuilder, testovanie pomocou PyTestu atď., Aby ste mohli začať s vývojom webu pomocou Pythonu. Komunita pre vývoj webových aplikácií zvyčajne porovnáva Flask s iným populárnym vývojovým rámcom pre web Python s názvom Django.
Tieto rozdiely vysvetlíme a tieto rámce tiež porovnáme v jednom z tutoriálov v tejto sérii.
Odporúčané čítanie
- Uzol Django Vs Flask Vs: Ktorý rámec zvoliť
- Výukový program pre Flask API s príkladom Rozšírenie banky s API
- Aplikácia banky a rozloženie projektu banky s modrotlačou a bootstrapom
- Zaobchádzanie s bankovou databázou - Ako používať banku s databázou
- Dizajnové vzory banky a osvedčené postupy pre webové aplikácie
- Šablóna banky, formulár, pohľad a presmerovanie s príkladmi
- Top 31 populárnych otázok na rozhovor s pythonovskou bankou s odpoveďami
- Výukový program pre Python pre začiatočníkov (praktické školenie v jazyku Python ZDARMA)