python flask tutorial introduction flask
Acest tutorial introductiv Python Flask explică ce este Flask, instalarea Python, Virtualenv, exemplu Flask Hello World cu o secțiune despre exemple de cod, depanare și testare:
Dezvoltarea site-ului web este mai mult o artă decât o abilitate. Este nevoie de răbdare și sârguință, împreună cu perseverență, curaj și dăruire pentru a crea ceea ce este necesar pentru ca acesta să aibă un succes real. În zilele noastre, este esențial ca cursanții să ajungă la viteză cât mai curând posibil.
Am creat acest tutorial Python Flask pentru ca elevii să se pună la curent și să implementeze o programare web simplă și complexă utilizând Python 3.
Acest tutorial Python Flask seamănă mai mult cu un tutorial pentru începători, care va acoperi instalarea Python, Virtualenv și a altor pachete esențiale. În această serie de tutoriale, vom instala și Flask împreună cu celelalte pluginuri Flask necesare. Am inclus, de asemenea, o secțiune despre depanarea codului, testarea și integrarea continuă utilizând Git Actions.
Ce veți învăța:
Lista tutorialelor din această serie de baloane
Tutorial nr. 1: Tutorial Python Flask - Introducere în Flask pentru începători
Tutorial nr. 2: Șablon de balon, formular, vizualizare și redirecționare cu exemple
Tutorial # 3: Manipularea bazei de date Flask - Cum se utilizează Flask cu o bază de date
Tutorial # 4: Aplicația Flask și aspectul proiectului Flask cu Blueprint & Bootstrap
Tutorial # 5: Modele de proiectare a balonului și cele mai bune practici pentru aplicațiile web
Tutorial nr. 6: Tutorial API Flask cu exemplu | Extinderea balonului cu API-uri
Tutorial nr. 7: Django Vs Flask Vs Node: Ce cadru să selectați
Tutorial # 8: Top 31 Întrebări populare de interviu Python Flask cu răspunsuri
Ce este Flask
Flask este un cadru de dezvoltare web. Este un cadru cu un server de dezvoltare încorporat și un depanator.
cum se scrie un eșantion de plan de testare
Cadrul Flask în sine este diferit de celelalte arhetipuri, deoarece permite dezvoltatorilor web să fie flexibili și să acomodeze confortabil schimbările lansate frecvent în comunitatea de dezvoltare software.
Pentru ce se folosește balonul
Folosim cadrul Flask pentru dezvoltarea aplicațiilor web în limbaj de programare Python. Se integrează cu alte servicii terțe și API-uri pentru a aduce bogăție și semnificație aplicației în curs de dezvoltare. Conceptele de bază ale Flask sunt simple și au o amprentă mică.
Să începem cu acest tutorial Python Flask pentru a înțelege dezvoltarea web cu ajutorul unui depozit Flask GitHub. Cu toate acestea, înainte de a continua, vă rugăm să clonați proiectul din Github pentru o urmărire ușoară a exemplelor de cod discutate.
Condiții prealabile
În afară de titlurile menționate în această secțiune, vă recomandăm să creați un cont Github. Să continuăm cu pașii menționați mai jos în condițiile prealabile.
Pasul 1: Instalați Python
Verificați dacă ați instalat Python 3 sau nu. Dacă nu, descărcați Python 3 din Aici și instalați-l conform sistemului dvs. de operare.
Pasul 2: Creați un mediu virtual Python
Creați un mediu virtual folosind comanda de mai jos.
python3 -m venv venv
Utilizați comanda de mai jos pentru a activa mediul virtual Python.
source venv/bin/activate
Am dat mai jos un exemplu de activare și dezactivare a mediului virtual.
Toate comenzile ulterioare din acest tutorial ar trebui să ruleze într-un mediu virtual activat. Instalați pachetul de roți, astfel încât să putem construi roți în mediul virtual.
pip install wheel
Pasul 3: Descărcare balon și Insall
Trebuie să efectuăm pașii de descărcare Flask și să instalăm Flask utilizând pașii de mai jos.
Acum instalați Flask.
pip install flask
Unora dintre noi le place să lucreze împreună cu cele mai recente modificări ale codului sursă. Putem folosi comanda dată mai jos pentru a instala cu cele mai recente modificări la sursele Flask.
Creați un director temporar.
mkdir tmp
Acum instalați Flask din depozitul Github. Trebuie să rămâneți conectat la internet pentru ca comanda de mai jos să funcționeze.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Uită-te la ieșirile consolei pentru a verifica instalarea reușită. Acum verificați dacă putem accesa comenzile Flask.
flask --help
S-ar putea să vedeți câteva excepții despre absența unei aplicații Flask. Cu toate acestea, neglijați-le, deoarece nu am creat nicio aplicație Flask. Aplicația noastră este o instanță a Flask, care este un wrapper pe cadrul web Werkzeug și motorul de modelare Jinja.
Instrument
Werkzeug este un set de instrumente WSGI. WSGI este doar o convenție de apel pentru redirecționarea serverelor web solicitări web la aplicații web scrise în limbaj de programare Python.
Jinja
Șablonarea este un set de abilități esențial al dezvoltatorilor de web. Jinja este un motor de modelare complet util și popular pentru Python. Este un limbaj destul de expresiv și oferă un set robust de instrumente autorilor de șabloane.
Pasul 4: Instalați MongoDB
Urmați pașii de mai jos pentru a instala MongoDB. Am prezentat pașii pentru instalarea acestuia într-un Linux bazat pe Debian. Dacă utilizați un alt sistem de operare, accesați fișierul legătură și instalați conform sistemului de operare prevăzut.
Instalați gnupg pentru importul cheii publice GPG MongoDB.
sudo apt-get install gnupg
Acum importați cheia utilizând comanda de mai jos.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Creați fișierul cu lista de surse conform distribuției dvs. Linux. Am adăugat lista de surse conform Debian.
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
Rulați comanda de actualizare
sudo apt-get update
Acum instalați MongoDB, folosind comanda de mai jos.
sudo apt-get install -y mongodb-org
Odată ce instalarea are succes, porniți MongoDB folosind comanda de mai jos.
sudo systemctl start mongod
Verificați starea MongoDB, utilizând comanda de mai jos.
sudo systemctl status mongod
Acum asigurați-vă că mongod pornește automat la repornirea sistemului prin emiterea comenzii de mai jos.
sudo systemctl enable mongod
Acum verificați dacă vă puteți conecta la serverul MongoDB folosind clientul mongo.
mongo
În shell-ul mongo, încercați să folosiți ajutorul și afișați comenzile dbs.
Creați o aplicație Flask
Utilizați comanda de mai jos pentru a instala flask-appbuilder și mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Creați o aplicație schelet cu valorile afișate ca comentarii în fragmentul de cod de mai jos.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Vom vedea rezultatul similar cu cel de mai jos.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Aruncați o privire la aspectul proiectului și al aplicației. Am arătat rezultatul comenzii arborelui de mai jos.
Să aruncăm o privire asupra fișierului de configurare Flask. Este o configurare implicită generată ca rezultat al ultimei comenzi. Descomentează Cyborg temă, așa cum se arată mai jos.
# 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
Pentru a rula aplicația schelet, utilizați comanda de mai jos pe terminal.
flask run
Flask Hello World
Pentru a crea primul program în flaskTutorialApp, deschideți fișierul views.py sub directorul aplicației și adăugați următorul cod. Căutați declarațiile de import date în fișier. Adăugați aceste declarații dacă nu sunt deja prezente.
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())
Salvați fișierul după adăugarea codului sursă de mai sus. Accesați directorul rădăcină al proiectului și utilizați comanda de mai jos pentru a rula serverul de dezvoltare al Flask-ului.
flask run
Navigați acum la http: // localhost: 5000 / hello / pentru a vedea ieșirea în browser.
Depanare
În prezent, serverul de dezvoltare nu rulează în modul Debug. Fără modul de depanare, este dificil să găsiți erorile în codul sursă al aplicației Flask.
Modul de depanare în Flask are ca rezultat următoarele:
- Modul de depanare activează Reîncărcarea automată. Înseamnă că nu trebuie să repornim serverul de dezvoltare după ce facem modificări în codul sursă al aplicației.
- Modul de depanare activează depanatorul Python. Putem inspecta valorile variabilelor în timpul excepției.
- Modul de depanare permite depanarea aplicației Flask. Putem verifica valorile diferitelor variabile în sesiunile de depanare.
Opriți serverul de dezvoltare dacă acesta rulează deja. Puteți utiliza CTRL + C sau întrerupere tastatură pentru a face același lucru.
Utilizați următorul cod pentru a activa modul de depanare și pentru a rula temporar serverul de dezvoltare.
FLASK_ENV=development flask run
Căutați în consolă codul PIN pentru depanare și notați-l.
Acum să schimbăm vizualizarea HelloWorld scrisă mai sus cu următoarele rânduri ale fragmentului de cod. Observați că am introdus o excepție personalizată.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Navigați la http: // localhost: 5000 / hello / și veți vedea că aplicația a ridicat o excepție. Browserul afișează urmele stivei, așa cum se arată mai jos.

Mai mult, uitați-vă la consola pe care rulează serverul de dezvoltare. Veți descoperi că, de data aceasta, modificările din views.py sunt detectate automat, iar serverul de depanare repornește singur. Acum nu trebuie să-l repornim manual.
Consola va avea linii, așa cum se arată mai jos. Trebuie să notăm PIN-ul de depanare pentru mai târziu.
* 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
Acum verificați urmele stivei în browser și mergeți la ultima linie. Faceți clic pe acesta pentru a extinde vizualizarea și faceți clic pe pictograma CLI pentru a deschide shell-ul în modul interactiv.

După ce îl deschideți, veți vedea că browserul va afișa o solicitare pentru codul PIN de depanare. Dați codul PIN de depanare și faceți clic pe OK.

Odată ce continuăm înainte după ce am dat codul PIN de depanare, putem accesa shell-ul interactiv.
Accesăm shell-ul din browser și putem inspecta valorile variabilelor pentru a găsi cauza excepției și pentru a gestiona eroarea într-un mod mai bun. Vă rugăm să vă uitați la unul dintre exemplele prezentate în imaginea de mai jos.

Acum schimbați codul în view.py, așa cum se arată mai jos. Rețineți că am comentat linia care a avut excepția ridicată.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Testarea aplicației Flask
Acum să scriem primul nostru test pentru aplicația Flask pe care o dezvoltăm. Mai întâi, instalați PyTest. PyTest este un cadru de testare. Ne ajută să scriem un cod mai bun.
Mai mult, doar pentru că putem scrie teste unitare în timp ce ne dezvoltăm aplicațiile, este posibil să urmăm abordarea TDD. TDD înseamnă Test-Driven Development. În tutorialele noastre ulterioare din această serie, vom scrie întotdeauna testele mai întâi și vom dezvolta punctele de vedere sau modelele noastre.
Instalați PyTest
pip install pytest
Acum creați un director numit teste în directorul aplicației și în acesta creați un fișier numit test_hello.py. Să scriem primul nostru test de unitate pentru a ne testa punctul de vedere.
Copiați următorul fragment de cod și lipiți-l în 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
Utilizați comanda pytest de mai jos pentru a rula testele. PyTest colectează automat testele și afișează rezultatele pe ieșirea standard.

Creați un flux de lucru GitHub
Folosim Git Actions pentru a crea un flux de lucru CI / CD pentru eșantionul aplicației noastre. Urmați pașii de mai jos pentru proiectul dvs.
Pasul 1: Navigați la pagina depozitului de pe GitHub. Faceți clic pe Acțiuni Git.

Pasul 2: Derulați în jos pe pagină și găsiți un șablon de flux de lucru existent pentru un pachet Python.

Pasul 3: Configurați fluxul de lucru al pachetului Python.

Pasul 4: Odată ce configurația fluxului de lucru python-package.yml se deschide, actualizați-o pe baza valorilor de etichetă suplimentare yaml date.
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
Vrem să testăm aplicația noastră Flask pe cea mai recentă distribuție Ubuntu Linux. În plus față de sistemul de operare, dorim să rulăm testele folosind doar Python 3.7 și Python 3.8.
Pasul 5: comitește python-package.yml cu valorile actualizate.

Pasul 6: Confirmarea din pagina anterioară ne duce la joburile GitActions.

Pasul 7: (Opțional)
Pe pagina Github Jobs pentru aplicația tutorial eșantion, putem crea o insignă și o putem plasa în fișierul README.md pentru afișarea stării de construire.
qa inginer interviu intrebari raspunsuri pdf
Acum, ori de câte ori modificările sunt dedicate filialei master, Git Workflow, așa cum este scris în python-package.yml, va fi urmat și rulat pe Git Actions.
Concluzie
În acest tutorial, am acoperit toate conceptele de bază de la condiții prealabile până la configurarea fluxului de lucru CI / CD pentru o aplicație web dezvoltată utilizând Flask - Un cadru de dezvoltare web bazat pe Python.
Acest tutorial acoperă toți pașii necesari, cum ar fi instalarea Python, descărcarea și instalarea Flask, lucrul cu Flask-Appbuilder, testarea cu PyTest etc. pentru a începe dezvoltarea web folosind Python. Comunitatea de dezvoltare web compară de obicei Flask cu un alt cadru popular de dezvoltare web Python numit Django.
Vom explica aceste diferențe și vom compara, de asemenea, aceste cadre într-unul dintre tutorialele din această serie.
Lectură recomandată
- Django Vs Flask Vs Node: Ce cadru să selectați
- Tutorial API Flask cu exemplu | Extinderea balonului cu API-uri
- Aplicația Flask și aspectul proiectului Flask cu Blueprint & Bootstrap
- Manipularea bazei de date Flask - Cum se utilizează Flask cu o bază de date
- Modele de proiectare a balonului și cele mai bune practici pentru aplicațiile web
- Șablon de balon, formular, vizualizare și redirecționare cu exemple
- Top 31 Întrebări populare de interviu Python Flask cu răspunsuri
- Tutorial Python pentru începători (Training gratuit Python GRATUIT)