python flask tutorial introduction flask
Questo tutorial introduttivo su Python Flask spiega cos'è Flask, installazione di Python, Virtualenv, esempio di Flask Hello World con una sezione su esempi di codice, debug e test:
Lo sviluppo di siti web è più un'arte che un'abilità. Richiede pazienza e diligenza, insieme a perseveranza, coraggio e dedizione per creare ciò che è necessario affinché sia un vero successo. In questi giorni, è essenziale che gli studenti si mettano al passo il prima possibile.
Abbiamo creato questo tutorial di Python Flask per consentire agli studenti di essere aggiornati e implementare una programmazione web semplice e complessa utilizzando Python 3.
Questo tutorial di Python Flask è più simile a un tutorial per principianti di flask, che coprirà l'installazione di Python, Virtualenv e altri pacchetti essenziali. In questa serie di tutorial, installeremo anche Flask insieme agli altri plug-in Flask necessari. Abbiamo anche incluso una sezione sul debug del codice, sui test e sull'integrazione continua utilizzando Git Actions.
Cosa imparerai:
Elenco dei tutorial in questa serie di boccette
Tutorial n. 1: Python Flask Tutorial - Introduzione a Flask per principianti
Tutorial n. 2: Modello di pallone, modulo, visualizzazione e reindirizzamento con esempi
Tutorial n. 3: Gestione database Flask - Come utilizzare Flask con un database
Tutorial n. 4: Flask App e layout del progetto Flask con Blueprint e Bootstrap
Tutorial n. 5: Modelli di progettazione di boccette e best practice per le applicazioni Web
Tutorial # 6: Esercitazione sull'API Flask con esempio | Flask estensibile con API
Tutorial # 7: Django Vs Flask Vs Node: quale framework selezionare
Tutorial n. 8: Le 31 domande più popolari dell'intervista a Python Flask con risposte
Cos'è Flask
Flask è un framework di sviluppo web. È un framework con un server di sviluppo integrato e un debugger.
team foundation server gestione agile dei progetti
Il framework Flask di per sé è diverso dagli altri archetipi in quanto consente agli sviluppatori web di essere flessibili e di accogliere comodamente i cambiamenti rilasciati di frequente nella comunità di sviluppo software.
A cosa serve la boccetta
Utilizziamo il framework Flask per sviluppare applicazioni Web in linguaggio di programmazione Python. Si integra con altri servizi e API di terze parti per portare ricchezza e significato all'applicazione in fase di sviluppo. I concetti principali di Flask sono semplici e ha un ingombro minimo.
Iniziamo con questo tutorial di Python Flask per comprendere lo sviluppo web con l'aiuto di un repository GitHub Flask. Tuttavia, prima di procedere, clonare il progetto da Github per un facile follow-up sugli esempi di codice discussi.
Prerequisiti
Oltre alle intestazioni menzionate in questa sezione, ti consigliamo di creare un account Github. Procediamo con i passaggi indicati di seguito nei prerequisiti.
Passaggio 1: installa Python
Controlla se hai installato Python 3 o meno. In caso contrario, scarica Python 3 da Qui e installalo secondo il tuo sistema operativo.
Passaggio 2: crea un ambiente virtuale Python
Crea un ambiente virtuale utilizzando il comando seguente.
python3 -m venv venv
Usa il comando seguente per attivare l'ambiente virtuale Python.
source venv/bin/activate
Di seguito abbiamo fornito un esempio di attivazione e disattivazione dell'ambiente virtuale.
Tutti i comandi successivi in questo tutorial dovrebbero essere eseguiti in un ambiente virtuale attivato. Installa il pacchetto ruote in modo da poter costruire ruote all'interno dell'ambiente virtuale.
pip install wheel
Passaggio 3: download di Flask e installazione
È necessario eseguire i passaggi di download di Flask e installare Flask utilizzando i passaggi indicati di seguito.
Ora installa Flask.
pip install flask
Ad alcuni di noi piace lavorare con le ultime modifiche al codice sorgente. Possiamo usare il comando indicato di seguito per installare con le ultime modifiche ai sorgenti di Flask.
Crea una directory temporanea.
mkdir tmp
Ora installa Flask dal repository Github. È necessario rimanere connessi a Internet affinché il comando seguente funzioni.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Guarda gli output della console per verificare la corretta installazione. Ora controlla se possiamo accedere ai comandi Flask.
flask --help
Potresti vedere alcune eccezioni sull'assenza di un'applicazione Flask. Tuttavia, trascura quelli perché non abbiamo creato alcuna app Flask. La nostra app è un'istanza di Flask, che è un wrapper nel framework web Werkzeug e nel motore di templating Jinja.
Attrezzo
Werkzeug è un toolkit WSGI. WSGI è solo una convenzione di chiamata per i server Web da inoltrare richieste web alle applicazioni web scritte in linguaggio di programmazione Python.
Jinja
La creazione di modelli è un set di competenze essenziale degli sviluppatori web. Jinja è un motore di modelli completo e popolare per Python. È un linguaggio piuttosto espressivo e fornisce un robusto set di strumenti agli autori di modelli.
Passaggio 4: installa MongoDB
Segui i passaggi indicati di seguito per installare MongoDB. Abbiamo delineato i passaggi per installarlo in un Linux basato su Debian. Se stai utilizzando un altro sistema operativo, accedi al file collegamento e installare secondo il sistema operativo previsto.
Installa gnupg per importare la chiave GPG pubblica di MongoDB.
sudo apt-get install gnupg
Ora importa la chiave usando il comando sottostante.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Crea il file dell'elenco delle fonti secondo la tua distribuzione Linux. Abbiamo aggiunto l'elenco delle fonti come per 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
Esegui il comando di aggiornamento
sudo apt-get update
Ora installa MongoDB, usando il comando seguente.
sudo apt-get install -y mongodb-org
Una volta completata l'installazione, avvia MongoDB utilizzando il comando seguente.
sudo systemctl start mongod
Controlla lo stato di MongoDB, utilizzando il comando seguente.
sudo systemctl status mongod
Ora assicurati che mongod si avvii automaticamente al riavvio del sistema emettendo il comando mostrato di seguito.
sudo systemctl enable mongod
Ora controlla se puoi connetterti al server MongoDB usando il client mongo.
mongo
Nella shell di mongo, prova a utilizzare la guida e mostra i comandi dbs.
Crea un'app Flask
Usa il comando seguente per installare flask-appbuilder e mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Crea un'app scheletro con i valori mostrati come commenti nello snippet di codice seguente.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Vedremo l'output simile a quello riportato di seguito.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Dai un'occhiata al layout del progetto e all'app. Abbiamo mostrato l'output del comando tree di seguito.
Diamo un'occhiata al file di configurazione Flask. È una configurazione predefinita generata come risultato dell'ultimo comando. Rimuovi commento Cyborg tema, come mostrato di seguito.
# 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
Per eseguire l'app skeleton, utilizzare il comando indicato di seguito sul terminale.
flask run
Flask Hello World
Per creare il tuo primo programma in flaskTutorialApp, apri il file views.py nella directory dell'app e aggiungi il codice seguente. Cerca le istruzioni di importazione fornite nel file. Aggiungi queste dichiarazioni se non sono già presenti.
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 il file dopo aver aggiunto il codice sorgente sopra. Vai alla directory principale del progetto e utilizza il comando seguente per eseguire il server di sviluppo di Flask.
flask run
Ora vai su http: // localhost: 5000 / hello / per vedere l'output nel browser.
Debug
Attualmente, il server di sviluppo non è in esecuzione in modalità Debug. Senza la modalità di debug, è difficile trovare gli errori nel codice sorgente dell'applicazione Flask.
La modalità di debug in Flask produce quanto segue:
- La modalità di debug attiva il ricaricamento automatico. Significa che non è necessario riavviare il server di sviluppo dopo aver apportato modifiche al codice sorgente dell'applicazione.
- La modalità di debug attiva il debugger di Python. Possiamo esaminare i valori delle variabili durante l'eccezione.
- La modalità di debug abilita il debug dell'applicazione Flask. Possiamo controllare i valori di varie variabili nelle sessioni di debug.
Arrestare il server di sviluppo se è già in esecuzione. Puoi usare CTRL + C o Interruzione da tastiera per fare lo stesso.
Utilizzare il codice seguente per abilitare la modalità di debug ed eseguire temporaneamente il server di sviluppo.
FLASK_ENV=development flask run
Cerca nella console il PIN del debugger e prendine nota.
Ora cambiamo la vista HelloWorld scritta sopra con le seguenti righe dello snippet di codice. Notare che abbiamo introdotto un'eccezione personalizzata.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Passa a http: // localhost: 5000 / hello / e vedrai che l'applicazione ha sollevato un'eccezione. Il browser visualizza la traccia dello stack, come mostrato di seguito.

Inoltre, guarda la console in cui è in esecuzione il server di sviluppo. Scoprirai che questa volta le modifiche in views.py vengono rilevate automaticamente e il server di debug si riavvia da solo. Ora non è necessario riavviarlo manualmente.
La console avrà delle linee, come mostrato di seguito. Dobbiamo annotare il PIN di debug per dopo.
* 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
Ora controlla la traccia dello stack nel browser e vai all'ultima riga. Fare clic su di esso per espandere la sua visualizzazione e fare clic sull'icona CLI per aprire la shell in modalità interattiva.

Una volta aperto, vedrai che il browser mostrerà una richiesta per il PIN di debug. Fornisci il PIN di debug e fai clic su OK.

Una volta che procediamo dopo aver fornito il PIN di debug, possiamo accedere alla shell interattiva.
Accediamo alla shell dall'interno del browser e possiamo ispezionare i valori delle variabili per trovare la causa dell'eccezione e gestire l'errore in un modo migliore. Si prega di guardare uno degli esempi mostrati nell'immagine sottostante.

Ora cambia il codice in view.py, come mostrato di seguito. Notare che abbiamo commentato la riga che aveva l'eccezione sollevata.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Testare l'applicazione Flask
Ora scriviamo il nostro primo test per l'applicazione Flask che stiamo sviluppando. Innanzitutto, installa PyTest. PyTest è un framework di test. Ci aiuta a scrivere un codice migliore.
Inoltre, proprio perché possiamo scrivere unit test durante lo sviluppo delle nostre applicazioni, è possibile seguire l'approccio TDD. TDD sta per Test-Driven Development. Nelle nostre successive esercitazioni di questa serie, scriveremo sempre prima i test e svilupperemo le nostre viste o modelli.
Installa PyTest
pip install pytest
Ora crea una directory chiamata test all'interno della directory dell'app e in essa crea un file chiamato test_hello.py. Scriviamo il nostro primo test unitario per testare la nostra visione.
Copia il seguente frammento di codice e incollalo in 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
Usa il seguente comando pytest per eseguire i test. PyTest raccoglie automaticamente i test e visualizza i risultati sullo standard output.

Crea un flusso di lavoro GitHub
Usiamo Git Actions per creare un flusso di lavoro CI / CD per la nostra applicazione di esempio. Segui i passaggi indicati di seguito per il tuo progetto.
come scrivere casi di test in Excel
Passaggio 1: vai alla pagina del repository su GitHub. Fare clic su Azioni Git.

Passaggio 2: scorri verso il basso nella pagina e trova un modello di flusso di lavoro esistente per un pacchetto Python.

Passaggio 3: configurazione del flusso di lavoro del pacchetto Python.

Passaggio 4: una volta aperta la configurazione del flusso di lavoro python-package.yml, aggiornala in base ai valori dei tag aggiuntivi yaml forniti.
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
Vogliamo testare la nostra applicazione Flask sull'ultima distribuzione Ubuntu Linux. Oltre al sistema operativo, vogliamo eseguire i nostri test utilizzando solo Python 3.7 e Python 3.8.
Passaggio 5: eseguire il commit di python-package.yml con i valori aggiornati.

Passaggio 6: il commit nella pagina precedente ci porta ai lavori GitActions.

Passaggio 7: (Opzionale)
Nella pagina Github Jobs per l'app tutorial di esempio, possiamo creare un badge e posizionarlo nel file README.md per visualizzare lo stato della build.
Ora, ogni volta che le modifiche vengono inviate al ramo master, Git Workflow, come scritto in python-package.yml, verrà seguito ed eseguito su Git Actions.
Conclusione
In questo tutorial, abbiamo coperto tutti i concetti di base dai prerequisiti alla configurazione del flusso di lavoro CI / CD per un'applicazione Web sviluppata utilizzando Flask, un framework di sviluppo Web basato su Python.
Questo tutorial copre tutti i passaggi necessari come l'installazione di Python, il download e l'installazione di Flask, il lavoro con Flask-Appbuilder, il test con PyTest, ecc. Per iniziare con lo sviluppo web utilizzando Python. La comunità di sviluppo web di solito confronta Flask con un altro popolare framework di sviluppo web Python chiamato Django.
Spiegheremo queste differenze e confronteremo anche questi framework in uno dei tutorial di questa serie.
Lettura consigliata
- Django Vs Flask Vs Node: quale framework selezionare
- Esercitazione sull'API Flask con esempio | Flask estensibile con API
- Flask App e layout del progetto Flask con Blueprint e Bootstrap
- Gestione database Flask - Come utilizzare Flask con un database
- Modelli di progettazione di boccette e best practice per le applicazioni Web
- Modello di pallone, modulo, visualizzazione e reindirizzamento con esempi
- Le 31 domande più popolari dell'intervista a Python Flask con risposte
- Tutorial Python per principianti (formazione pratica GRATUITA su Python)