Python Flask explicat în 5 minute sau mai puțin

Python Flask este un microframework pentru construirea de aplicații web în Python.

Este un cadru foarte flexibil și personalizabil care face învățarea ușoară. Ca rezultat, este o alegere populară atunci când construiești servere web. Acest articol prezintă Python Flask: ce este, cum se compară cu alte cadre și cum să creați o aplicație de bază în Python.

Ce este Flask?

Balon este un cadru pentru construirea de servere web în Python. Spre deosebire de alte cadre, nu forțează dezvoltatorul să se conformeze unei anumite structuri de directoare.

În plus, este lipsit de păreri, permițându-vă să utilizați orice instrument preferați pentru a efectua acțiuni precum conectarea la o bază de date și validarea intrărilor de formulare.

După cum am menționat, Flask este folosit pentru a construi servere web. Un server web este un software care răspunde la solicitările HTTP cu datele și fișierele corespunzătoare.

Flask vs. Alte cadre

Această secțiune va compara pe scurt Flask cu alte două cadre populare – Django și Fast API. Vom acoperi beneficiile și limitările utilizării Flask față de celelalte cadre.

Flask vs. Django

Flask este un micro-cadru ușor. Oferă dezvoltatorilor simplitate și flexibilitate, permițându-vă să construiți pe măsură ce mergeți. Cu toate acestea, asta înseamnă că trebuie să faci multă muncă singur.

Pe de altă parte, Django este un cadru „inclus cu baterii” care vine cu multe instrumente preconfigurate. Acest lucru vă permite să construiți și să expediați mai rapid. Cu toate acestea, Django nu este foarte flexibil și are o curbă de învățare mai abruptă.

Drept urmare, Flask este folosit pentru proiecte mici și mijlocii, în timp ce Django este folosit pentru proiecte mai mari și mai complexe.

  17 aplicații gratuite de muzică pentru iPhone care au lovit nota potrivită

Citește și: Diferențele dintre Flask și Django

Flask vs. FastAPI

FastAPI este un cadru relativ nou pentru construirea de API-uri în Python. Este rapid și ușor de utilizat. Oferă monitorizare încorporată ca caracteristică. Cu toate acestea, este un nou cadru cu un ecosistem și o comunitate relativ mici. În plus, utilizarea sa este limitată la API-uri.

În schimb, Flask este mai versatil, deoarece poate fi folosit atât pentru API-uri, cât și pentru randarea fișierelor statice. Este ușor și relativ ușor. Cu toate acestea, este mai lent decât FastAPI.

Flask este cel mai potrivit pentru aplicațiile web în care trebuie să redați HTML, în timp ce FastAPI ar trebui folosit pentru a construi API-uri.

Citește și: FastAPI vs. Flask: Care dintre cele două este potrivită pentru tine?

Cum se creează o aplicație în Flask

În această secțiune, vom construi o aplicație Flask simplă pentru a afișa HTML și a furniza date printr-un API. Scopul acestui lucru nu este de a oferi un tutorial cuprinzător pentru Flask. Mai degrabă, scopul este de a vă arăta pe scurt cum ar arăta construirea unei aplicații Flask.

Cerințe preliminare

Pentru a urma acest tutorial, trebuie să înțelegeți Python 3. În plus, familiaritatea cu HTTP ar fi utilă, deși nu este necesară.

Pentru a crea o aplicație în Flask, trebuie să instalați mai întâi Python. Dacă aveți nevoie de un ghid despre cum să faceți acest lucru, iată un videoclip pentru a vă ghida:

Creați un mediu virtual

Mai întâi, creați un folder de proiect pentru aplicație. Îmi rulez comenzile în Bash Terminal; prin urmare, creez un folder folosind următoarea comandă:

mkdir flask-tut

Apoi, navigați în interiorul folderului folosind comanda:

cd flask-tut

După navigarea în folder, creați un mediu virtual folosind această comandă. Acest lucru asigură că dependențele pe care le vom instala nu intră în conflict cu dependențele din alte proiecte.

python3 -m venv venv

Aceasta ar trebui să creeze un folder venv, pe care îl puteți vedea cu comanda:

ls

Activați Mediul Virtual

Activarea unui mediu virtual este ușoară. Folosind terminalul Bash, introduceți comanda:

source venv/bin/activate

Solicitarea terminalului dvs. ar trebui să se schimbe de la acest $ în acest (venv) $.

  Cele mai bune 4 moduri Skyrim de instalat pentru a vă îmbunătăți experiența de joc

Pentru mai multe informații, iată un articol despre mediile virtuale în Python.

Instalați Flask

Cu un mediu virtual, putem trece la instalarea Flask. Pentru asta, vom folosi pip:

pip install Flask

Ar trebui să descarce unele fișiere și să instaleze dependențe.

Servirea unor coduri HTML

Apoi, putem începe să lucrăm la fișierul main.py. Acest fișier va fi punctul de intrare al aplicației.

touch main.py

După crearea fișierului main.py, deschideți-l cu editorul preferat și adăugați următorul cod:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return '<h1>Hello from Flask!</h1>'

În fragmentul de cod de mai sus, am început prin a importa clasa Flask. Apoi, am instanțiat clasa Flask, trecând variabila __name__. Aceasta este o variabilă încorporată care stochează numele modulului curent. Flask are nevoie de acest lucru pentru a ști unde să găsească fișierele. Am stocat instanța Flask în variabila aplicație.

Apoi, am creat o funcție numită index. Această funcție returnează codul HTML pe care vrem să-l afișam utilizatorului. Înainte de definirea funcției, am folosit decoratorul @app.route. Acest decorator transformă o funcție obișnuită într-o funcție de vizualizare Flask. Aceasta înseamnă că valoarea returnată a funcției va fi convertită într-un răspuns HTML.

Pentru a rula aplicația, folosim comanda:

flask --app main run

Indicatorul –app specifică unde se află aplicația. În acest caz, în main.py. Serverul ar trebui să înceapă să ruleze.

Și dacă deschideți browserul pe http://localhost:5000 sau http://127.0.0.1:5000, ar trebui să vedeți un h1:

Scrierea întregului nostru HTML în codul nostru Python ar fi în general rău. În mod ideal, am dori să separăm Python de HTML. Următoarea secțiune va analiza cum să difuzați fișiere HTML independente.

Servirea unui fișier HTML

În această secțiune, vom scrie codul pentru a servi un fișier index.html pentru site-ul nostru. Mai întâi, să creăm fișierul index.html. Vom crea acest fișier în folderul șabloane, deoarece acolo caută Flask șablonul nostru HTML

touch template/index.html

Apoi, deschideți fișierul folosind editorul preferat și adăugați următorul cod:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Flask Website</title>
  </head>
  <body>
	<h1>Hello from Flask!</h1>
  </body>
</html>

Apoi, redeschideți fișierul main.py pe care l-am creat mai devreme. Apoi adăugați următorul import în partea de sus, imediat după importul Flask:

from flask import render_template

Funcția render_template pe care tocmai am importat-o ​​ne permite să oferim șabloane HTML. Pentru a reda un fișier HTML, modificăm funcția index astfel încât să arate astfel:

@app.route("/")
def index():
    return render_template('index.html')

Opriți serverul (Ctrl + C) și reporniți-l folosind următoarea comandă:

flask --app main run

Reîncărcați fereastra browserului și ar trebui să vedeți următoarele.

  Cum să vă opriți iPhone-ul pentru un film cu o comandă rapidă Siri

În acest exemplu, afișăm o pagină HTML statică. Cu Flask, puteți afișa și șabloane prin crearea de șabloane HTML și furnizarea de date. Aceste șabloane urmează sintaxa Jinja. Nu vom acoperi acest lucru aici pentru concizie, dar voi lega câteva resurse bune pentru a învăța Flask mai târziu.

Crearea unei rute API

Afișarea conținutului HTML este o funcție a aplicațiilor web. Celălalt este de a servi date printr-o rută API. În Flask, este, de asemenea, ușor să configurați rute API. Adăugați acest cod în fișierul main.py pentru a crea o rută API la „/data”.

@app.route('/data')
def data():
    return { "status": "OK", "msg": "Hello from Flask API" }

Dacă o funcție returnează un dict sau o listă, valoarea este convertită în JSON și trimisă ca răspuns. Dacă reporniți serverul și deschideți http://localhost:5000/data, ar trebui să vedeți următoarele:

Resurse pentru a învăța Flask

❇️ Cel Documentația balonului este excelent pentru invatare. Este bine structurat, clar și este probabil cea mai fiabilă resursă pentru învățarea Flask.

❇️ are și freeCodeCamp un videoclip grozav de pe YouTube pe Flask. freeCodeCamp este un nume cunoscut pentru resurse de învățare gratuite, dar de înaltă calitate.

❇️ Aceasta curs Udemy este o modalitate bună de a învăța cum să construiți API-uri de nivel enterprise în Flask. Acesta acoperă instrumente precum Flask-SQLALchemy și Flask-Smorest.

Concluzie

Acest articol a fost o scurtă introducere în Python Flask. Am acoperit ce este, am comparat-o cu alte cadre web și am construit o aplicație simplă. În cele din urmă, am legat resurse pentru învățare ulterioară.

Apoi, verificați cum să securizați un API REST Flask cu un token web JSON.