python flask tutorial introduction flask
Ovaj uvodni vodič za Python Flask objašnjava što je Flask, instalacija Python, Virtualenv, Flask Hello World primjer s odjeljkom o primjerima koda, otklanjanju pogrešaka i testiranju:
Izrada web stranica više je umjetnost nego vještina. Potrebno je strpljenje i marljivost, zajedno s ustrajnošću, hrabrošću i predanošću kako bi se stvorilo ono što je neophodno da bi to bio pravi uspjeh. Ovih dana bitno je da učenici počnu ubrzati što je prije moguće.
Stvorili smo ovaj tutorial za Python Flask za studente kako bi ubrzali i implementirali jednostavno, ali i složeno web programiranje pomoću Pythona 3.
Ovaj tutorial za Python Flask više je poput tutorijala za početnike u tikvici, koji će pokriti instalaciju Pythona, Virtualenva i drugih bitnih paketa. U ovoj seriji vodiča također ćemo instalirati Flask zajedno s ostalim potrebnim dodacima Flask. Također smo uključili odjeljak o otklanjanju pogrešaka, testiranju i kontinuiranoj integraciji koda pomoću Git Action-a.
Što ćete naučiti:
Popis tutorijala u ovoj tikvici
Vodič br. 1: Vodič za Python tikvicu - Uvod u tikvicu za početnike
Vodič br. 2: Predložak tikvice, obrazac, pogled i preusmjeravanje s primjerima
Vodič br. 3: Rukovanje bazom podataka tikvice - Kako koristiti tikvicu s bazom podataka
Vodič br. 4: Aplikacija tikvice i izgled projekta tikvice s nacrtom i bootstrapom
Vodič br. 5: Uzorci dizajna tikvica i najbolji postupci za web aplikacije
Vodič br. 6: Vodič za API tikvice s primjerom | Proširenje tikvice s API-ima
Vodič br. 7: Django vs Flask Vs Node: Koji okvir odabrati
Vodič br. 8: Top 31 popularna pitanja za intervju s Python tikvicom s odgovorima
Što je tikvica
Flask je okvir za web razvoj. To je okvir s ugrađenim razvojnim poslužiteljem i programom za ispravljanje pogrešaka.
najbolji DVD ripper za Windows 7
Flask framework se sam po sebi razlikuje od ostalih arhetipova jer web programerima omogućuje fleksibilnost i ugodno prilagođavanje često objavljenim promjenama u zajednici za razvoj softvera.
Čemu služi tikvica
Za razvoj web aplikacija u programskom jeziku Python koristimo okvir Flask. Integrira se s drugim uslugama i API-jevima treće strane kako bi donio bogatstvo i značenje aplikaciji u razvoju. Osnovni koncepti tikvice jednostavni su i ima mali otisak.
Počnimo s ovim vodičem za Python Flask da bismo razumjeli web razvoj uz pomoć spremišta Flask GitHub. Međutim, prije nego što nastavite, klonirajte projekt iz Githuba radi lakšeg praćenja razmatranih primjera koda.
Preduvjeti
Osim spomenutih naslova u ovom odjeljku, preporučujemo stvaranje Github računa. Nastavimo sa dolje spomenutim koracima u preduvjetima.
Korak 1: Instalirajte Python
Provjerite jeste li instalirali Python 3 ili ne. Ako nije, preuzmite Python 3 s ovdje i instalirajte ga prema vašem operativnom sustavu.
Korak 2: Stvorite Python virtualno okruženje
Stvorite virtualno okruženje pomoću naredbe u nastavku.
python3 -m venv venv
Upotrijebite naredbu u nastavku za aktiviranje virtualnog okruženja Python.
source venv/bin/activate
U nastavku smo naveli primjer aktiviranja i deaktiviranja virtualnog okruženja.
Sve naredne naredbe u ovom vodiču trebale bi se izvoditi u aktiviranom virtualnom okruženju. Instalirajte paket kotača kako bismo mogli graditi kotače unutar virtualnog okruženja.
pip install wheel
Korak 3: Preuzimanje boce i ulaz u nju
Moramo izvršiti korake za preuzimanje Flaska i instalirati Flask pomoću dolje navedenih koraka.
Sada instalirajte Flask.
pip install flask
Neki od nas vole raditi zajedno s najnovijim promjenama izvornog koda. Sljedeću naredbu možemo koristiti za instalaciju s najnovijim promjenama na izvorima tikvice.
Napravite privremeni direktorij.
mkdir tmp
Sada instalirajte Flask iz spremišta Github. Morate ostati povezani s internetom da bi naredba u nastavku funkcionirala.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Pogledajte izlaze konzole kako biste provjerili uspješnu instalaciju. Sada provjerite možemo li pristupiti naredbama Flask.
flask --help
Možda ćete vidjeti neke iznimke u vezi s odsustvom aplikacije Flask. Međutim, zanemarite ih jer nismo stvorili nijednu aplikaciju Flask. Naša je aplikacija instanca Flask, koja je omot na mrežnom okviru Werkzeug i Jinja templating engine.
Alat
Werkzeug je WSGI set alata. WSGI je samo konvencija pozivanja za prosljeđivanje web poslužitelja web zahtjevi na web aplikacije napisane na programskom jeziku Python.
Jinja
Predlošci su važan skup vještina programera. Jinja je potpuno opremljen i popularan mehanizam za predloške za Python. Prilično je izražajan jezik i autorima predložaka pruža robustan set alata.
Korak 4: Instalirajte MongoDB
Slijedite dolje navedene korake za instalaciju MongoDB-a. Iznijeli smo korake za njegovu instalaciju u Linux baziran na Debianu. Ako koristite drugi operativni sustav, pristupite veza i instalirajte prema predviđenom operativnom sustavu.
Instalirajte gnupg za uvoz MongoDB javnog GPG ključa.
sudo apt-get install gnupg
Sada uvezite ključ pomoću naredbe u nastavku.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Stvorite datoteku s popisom izvora prema vašoj Linux distribuciji. Dodali smo popis izvora prema 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
Pokrenite naredbu za ažuriranje
sudo apt-get update
Sada instalirajte MongoDB, koristeći naredbu u nastavku.
sudo apt-get install -y mongodb-org
Kada je instalacija uspješna, pokrenite MongoDB pomoću naredbe u nastavku.
sudo systemctl start mongod
Provjerite status MongoDB, koristeći naredbu u nastavku.
sudo systemctl status mongod
Sada osigurajte da se mongod automatski pokreće prilikom ponovnog pokretanja sustava izdavanjem dolje prikazane naredbe.
sudo systemctl enable mongod
Sada provjerite možete li se povezati s MongoDB poslužiteljem pomoću mongo klijenta.
mongo
U mongo ljusci pokušajte upotrijebiti pomoć i prikazati dbs naredbe.
Stvorite aplikaciju za tikvicu
Upotrijebite donju naredbu za instalaciju flask-appbuilder i mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Stvorite kosturnu aplikaciju s vrijednostima prikazanim kao komentari u donjem isječku koda.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Vidjet ćemo izlaz sličan onome datom u nastavku.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Pogledajte izgled projekta i aplikaciju. U nastavku smo prikazali izlaz naredbe stabla.
Pogledajmo konfiguracijsku datoteku Flask. To je zadana konfiguracija generirana kao rezultat posljednje naredbe. Komentirajte Kiborg tema, kao što je prikazano u nastavku.
# 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
Da biste pokrenuli kosturnu aplikaciju, upotrijebite donju naredbu na terminalu.
flask run
Čutura Hello World
Da biste stvorili svoj prvi program u flaskTutorialApp, otvorite datoteku views.py u direktoriju aplikacije i dodajte sljedeći kôd. Potražite izjave o uvozu dane u datoteci. Dodajte ove izjave ako već nisu prisutne.
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())
Spremite datoteku nakon dodavanja gornjeg izvornog koda. Idite u korijenski direktorij projekta i upotrijebite donju naredbu za pokretanje razvojnog poslužitelja tikvice.
flask run
Sada idite na http: // localhost: 5000 / hello / da biste vidjeli izlaz u pregledniku.
Otklanjanje pogrešaka
Trenutno se razvojni poslužitelj ne izvodi u načinu otklanjanja pogrešaka. Bez načina otklanjanja pogrešaka teško je pronaći pogreške u izvornom kodu aplikacije Flask.
Način otklanjanja pogrešaka u tikvici rezultira sljedećim:
- Način otklanjanja pogrešaka aktivira Automatsko ponovno učitavanje. To znači da ne moramo ponovno pokretati razvojni poslužitelj nakon što izvršimo promjene u izvornom kodu aplikacije.
- Način otklanjanja pogrešaka aktivira Python program za ispravljanje pogrešaka. Vrijednosti varijabli možemo pregledati tijekom iznimke.
- Način otklanjanja pogrešaka omogućuje otklanjanje pogrešaka u aplikaciji Flask. Vrijednosti različitih varijabli možemo provjeriti u sesijama otklanjanja pogrešaka.
Zaustavite razvojni poslužitelj ako je već pokrenut. Za isto možete koristiti CTRL + C ili prekid tipkovnice.
Upotrijebite sljedeći kôd da omogućite način uklanjanja pogrešaka i privremeno pokrenite razvojni poslužitelj.
FLASK_ENV=development flask run
Potražite u konzoli PIN za uklanjanje pogrešaka i zabilježite ga.
Sada promijenimo gore napisani pogled HelloWorld sa sljedećim retcima isječka koda. Primijetite da smo uveli prilagođenu iznimku.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Idite na http: // localhost: 5000 / hello / i vidjet ćete da je aplikacija pokrenula iznimku. Preglednik prikazuje trag stoga, kao što je prikazano u nastavku.

Nadalje, pogledajte konzolu na kojoj je pokrenut razvojni poslužitelj. Otkrićete da se ovaj put promjene u views.py automatski otkrivaju, a poslužitelj za uklanjanje pogrešaka sam se ponovno pokreće. Sada ga ne moramo ručno ponovno pokretati.
Konzola će imati linije, kao što je prikazano u nastavku. Moramo zabilježiti PIN za uklanjanje pogrešaka za kasnije.
* 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
Sada provjerite trag stoga u pregledniku i idite na zadnji redak. Kliknite ga da biste proširili pogled i kliknite ikonu CLI da biste otvorili ljusku u interaktivnom načinu.

Jednom kada ga otvorite, vidjet ćete da će preglednik prikazati upit za PIN za uklanjanje pogrešaka. Dajte PIN za otklanjanje pogrešaka i kliknite U redu.

Nakon što nastavimo nakon davanja PIN-a za otklanjanje pogrešaka, možemo pristupiti interaktivnoj ljusci.
Ljusci pristupamo iz preglednika i možemo pregledati vrijednosti varijabli kako bismo pronašli uzrok iznimke i na bolji način riješili pogrešku. Molimo pogledajte jedan od primjera prikazanih na donjoj slici.

Sada promijenite kôd u view.py, kao što je prikazano u nastavku. Imajte na umu da smo komentirali redak koji je imao istaknuti izuzetak.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Ispitivanje primjene tikvice
Napišimo sada svoj prvi test za aplikaciju Flask koji razvijamo. Prvo instalirajte PyTest. PyTest je okvir za testiranje. Pomaže nam u pisanju boljeg koda.
Štoviše, samo zato što tijekom izrade naših aplikacija možemo pisati unit testove, moguće je slijediti TDD pristup. TDD je skraćenica od Test-Driven Development (Razvojen testom). U sljedećim tutorijalima ove serije uvijek ćemo prvo pisati testove i razvijati svoje stavove ili modele.
Instalirajte PyTest
pip install pytest
Sada izradite direktorij zvan testovi unutar direktorija aplikacije i u njemu stvorite datoteku nazvanu test_hello.py. Napišimo svoj prvi jedinični test kako bismo testirali svoj pogled.
Kopirajte sljedeći isječak koda i zalijepite ga u 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
Upotrijebite naredbu pytest za pokretanje testova. PyTest automatski prikuplja testove i prikazuje rezultate na standardnom izlazu.
što je od navedenog primjer rudarenja podataka

Stvorite GitHub tijek rada
Koristimo Git Action za stvaranje CI / CD tijeka rada za našu primjeru aplikacije. Slijedite dolje navedene korake za svoj projekt.
Korak 1: Idite na stranicu spremišta na GitHubu. Kliknite Git Akcije.

Korak 2: Pomaknite se prema stranici i pronađite postojeći predložak tijeka rada za Python paket.

Korak 3: Postavite tijek rada Python paketa.

Korak 4: Kada se otvori konfiguracija tijeka rada python-package.yml, ažurirajte je na temelju zadanih vrijednosti dodatnih oznaka 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
Želimo testirati našu aplikaciju Flask na najnovijoj Ubuntu Linux distribuciji. Pored OS-a, svoje testove želimo pokretati samo koristeći Python 3.7 i Python 3.8.
Korak 5: Zarežite python-package.yml s ažuriranim vrijednostima.

Korak 6: Zarezivanje na prethodnoj stranici vodi nas do poslova GitActions.

Korak 7: (Izborno)
Na stranici Github Jobs za uzorak aplikacije tutorial možemo stvoriti značku i smjestiti je u datoteku README.md za prikaz statusa izrade.
Sada, kad god su promjene predane glavnoj grani, Git Workflow, kako je napisano u python-package.yml, slijedit će se i pokretati na Git Akcijama.
Zaključak
U ovom smo tutorijalu pokrili sve osnovne koncepte, od preduvjeta do postavljanja CI / CD tijeka rada za web aplikaciju razvijenu pomoću Flask - Okvira za web razvoj zasnovan na Pythonu.
Ovaj vodič obuhvaća sve potrebne korake poput instaliranja Pythona, preuzimanja i instaliranja Flaska, rada s Flask-Appbuilder-om, testiranja s PyTest-om itd. Da biste započeli s web razvojem pomoću Pythona. Zajednica za web razvoj obično uspoređuje Flask s drugim popularnim Pythonovim okvirom za web razvoj nazvanim Django.
Objasnit ćemo ove razlike i također ćemo ih usporediti u jednom od vodiča u ovoj seriji.
Preporučena literatura
- Django vs Flask Vs Node: Koji okvir odabrati
- Vodič za API tikvice s primjerom | Proširenje tikvice s API-ima
- Aplikacija tikvice i izgled projekta tikvice s nacrtom i bootstrapom
- Rukovanje bazom podataka tikvice - Kako koristiti tikvicu s bazom podataka
- Uzorci dizajna tikvica i najbolji postupci za web aplikacije
- Predložak tikvice, obrazac, pogled i preusmjeravanje s primjerima
- Top 31 popularna pitanja za intervju s Python tikvicom s odgovorima
- Vodič za početnike za Python (Praktični BESPLATNI trening za Python)