Explorând Python Flask: Un Microframework Versatil pentru Dezvoltarea Web
Python Flask se prezintă ca un microframework remarcabil, conceput special pentru crearea de aplicații web în limbajul Python.
Datorită flexibilității și posibilităților de personalizare extinse, Flask se remarcă prin ușurința de învățare. Această caracteristică a consacrat Flask ca o opțiune preferată pentru dezvoltatorii implicați în construirea serverelor web. În acest articol, vom explora universul Python Flask, analizând definiția sa, comparând-o cu alte framework-uri și oferind un ghid practic pentru crearea unei aplicații de bază.
Ce Este Flask?
Flask este, în esență, un cadru robust pentru dezvoltarea de servere web cu Python. Spre deosebire de alte soluții de acest tip, Flask nu impune o structură rigidă de directoare, oferind dezvoltatorilor libertate deplină în organizarea proiectelor.
Mai mult, Flask este un framework minimalist, permițându-vă să alegeți instrumentele preferate pentru sarcini esențiale, cum ar fi conectarea la baze de date sau validarea formularelor.
Un server web, așa cum sugerează și denumirea, este un software care răspunde cererilor HTTP, furnizând datele și fișierele solicitate.
Flask Comparat cu Alte Framework-uri
Această secțiune va oferi o comparație succintă între Flask și alte două framework-uri populare: Django și FastAPI. Vom evidenția avantajele și dezavantajele utilizării Flask în comparație cu aceste alternative.
Flask vs. Django
Flask este un micro-framework care se remarcă prin greutatea sa redusă. El oferă simplitate și adaptabilitate, permițându-vă să construiți aplicații pas cu pas, după cum este necesar. Totuși, această flexibilitate presupune un efort mai mare din partea dezvoltatorului, care trebuie să gestioneze mai multe aspecte ale proiectului.
Django, în schimb, este un framework complet, care include o gamă largă de instrumente preconfigurate. Acest lucru facilitează o dezvoltare rapidă, însă poate limita adaptabilitatea și introduce o curbă de învățare mai abruptă.
În general, Flask este ideal pentru proiecte mici și medii, în timp ce Django este mai potrivit pentru proiecte ample și complexe.
Articol relevant: Diferențele dintre Flask și Django
Flask vs. FastAPI
FastAPI este un framework modern, specializat în crearea de API-uri cu Python. El se distinge prin performanțe rapide și simplitate. De asemenea, oferă instrumente de monitorizare integrate. Cu toate acestea, ecosistemul și comunitatea din jurul FastAPI sunt încă în dezvoltare, iar utilizarea sa este axată în principal pe API-uri.
Flask, pe de altă parte, este mai versatil, fiind capabil să gestioneze atât API-uri, cât și afișarea fișierelor statice. Deși mai lent decât FastAPI, Flask este ușor de utilizat și foarte adaptabil.
Flask este o alegere excelentă pentru aplicații web care necesită randarea HTML, în timp ce FastAPI este preferabil pentru construirea de API-uri.
Articol relevant: FastAPI vs. Flask: Care dintre cele două este potrivită pentru tine?
Crearea unei Aplicații cu Flask: Un Ghid Simplu
În această secțiune, vom crea o aplicație Flask de bază pentru a ilustra modul de afișare a HTML-ului și de furnizare a datelor prin API. Scopul nu este de a oferi un tutorial exhaustiv, ci de a prezenta o introducere practică în crearea unei aplicații cu Flask.
Cerințe Preliminare
Pentru a urma acest ghid, este necesar să aveți cunoștințe de bază despre Python 3. De asemenea, familiarizarea cu HTTP este un avantaj, deși nu o cerință absolută.
Pentru a utiliza Flask, trebuie să aveți instalat Python. Dacă aveți nevoie de ajutor, acest videoclip vă poate ghida:
Crearea unui Mediu Virtual
Începeți prin a crea un director pentru proiectul dvs. Folosind terminalul Bash, comanda pentru crearea directorului este:
mkdir flask-tut
Apoi, navigați în directorul creat cu comanda:
cd flask-tut
În interiorul directorului, creați un mediu virtual pentru a izola dependențele proiectului de cele ale altor proiecte:
python3 -m venv venv
Verificați existența directorului `venv` cu:
ls
Activarea Mediului Virtual
Pentru a activa mediul virtual, utilizați comanda:
source venv/bin/activate
Promptul terminalului se va schimba, indicând că mediul virtual este activ.
Pentru detalii suplimentare despre mediile virtuale, consultați acest articol despre mediile virtuale în Python.
Instalarea Flask
Cu mediul virtual activ, instalați Flask folosind pip:
pip install Flask
Acest proces va descărca și instala dependențele necesare.
Afișarea Codului HTML
Acum, creați un fișier `main.py`, care va servi drept punct de intrare al aplicației:
touch main.py
Deschideți fișierul cu editorul preferat și adăugați următorul cod:
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return '<h1>Salutare din Flask!</h1>'
În acest cod, am importat clasa Flask, am creat o instanță a acesteia și am definit o funcție `index` care returnează cod HTML. Decoratorul `@app.route` transformă funcția într-o rută accesibilă prin HTTP.
Rulați aplicația cu:
flask --app main run
Argumentul `–app` indică fișierul `main.py` unde se află aplicația. Serverul ar trebui să pornească.
Accesați `http://localhost:5000` sau `http://127.0.0.1:5000` în browser pentru a vedea rezultatul.
Deși funcțional, includerea codului HTML direct în fișierul Python nu este o practică ideală. Vom învăța cum să separăm HTML de codul Python în secțiunea următoare.
Afișarea unui Fișier HTML
Vom crea un fișier `index.html` pentru a separa codul HTML de Python. Flask caută șabloane HTML în directorul `templates`, deci creăm acest director și fișierul în el:
touch templates/index.html
Adăugați următorul cod în fișierul `templates/index.html`:
<!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>Website Flask</title> </head> <body> <h1>Salutare din Flask!</h1> </body> </html>
Apoi, modificați fișierul `main.py`, adăugând importul `render_template`:
from flask import render_template
Modificați funcția `index` pentru a afișa fișierul HTML:
@app.route("/") def index(): return render_template('index.html')
Opriți serverul (Ctrl + C) și reporniți-l:
flask --app main run
Reîncărcați browserul pentru a vedea noua pagină.
Acest exemplu demonstrează afișarea unei pagini HTML statice. Flask permite și utilizarea șabloanelor dinamice, folosind sintaxa Jinja, dar acest aspect este în afara scopului acestui articol introductiv.
Crearea unei Rute API
Pe lângă afișarea HTML, Flask poate fi utilizat pentru crearea de rute API. Adăugați următorul cod în fișierul `main.py` pentru a crea o rută API la `/data`:
@app.route('/data') def data(): return { "status": "OK", "msg": "Salutare din Flask API" }
Funcția care returnează un dicționar sau o listă va converti valoarea într-un răspuns JSON. Accesați `http://localhost:5000/data` pentru a vedea rezultatul.
Resurse pentru Învățarea Flask
❇️ Documentația Flask este o resursă excelentă, bine structurată și clară.
❇️ freeCodeCamp are un video excelent pe YouTube despre Flask.
❇️ Acest curs Udemy este o modalitate bună de a învăța cum să construiți API-uri în Flask.
Concluzie
Acest articol a oferit o introducere în Python Flask. Am discutat despre definiția sa, am comparat-o cu alte framework-uri și am creat o aplicație de bază. De asemenea, am oferit resurse utile pentru aprofundarea cunoștințelor.
Pentru a continua, puteți explora securizarea unui API REST Flask cu un token web JSON.