Tag: flask, python, web, routing, microframework
Livello: base
TL;DR: Appunti essenziali per usare Flask, microframework web in Python leggero ed estensibile.
Microframework: minimale, non impone un ORM o form engine specifici.
Routing: associa URL a funzioni Python tramite il decoratore @app.route().
Jinja2: motore di template di default per generare HTML dinamico.
Request context: oggetto globale request per accedere ai dati della richiesta corrente.
Werkzeug: libreria WSGI su cui si basa Flask.
Blueprint: meccanismo per organizzare l'applicazione in moduli riutilizzabili.
Configuration: gestibile tramite dizionario app.config o caricando da file/variabili d'ambiente.
Application context: gestisce variabili a livello di applicazione.
Q: Come si gestiscono i metodi HTTP (es. POST) in Flask?R: Passo l'argomento methods=['GET', 'POST'] al decoratore @app.route().
Q: Cos'è un Blueprint in Flask?R: È un modo per raggruppare rotte, template e risorse statiche, utile per strutturare app di grandi dimensioni.
Q: Come si ottengono i parametri passati nella query string?R: Uso request.args.get('nome_parametro') importando l'oggetto request da flask.
Dimenticarsi di importare request prima di usarlo per leggere i dati in POST.
Restituire direttamente un dizionario senza usare jsonify() o le funzioni native di Flask per il JSON in versioni precedenti alla 1.1.0.
Lavorare fuori dall'application context quando si cerca di accedere a estensioni.
```from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['GET'])
def home():
return "Hello, World!"
@app.route('/api/data', methods=['POST'])
def handle_data():
data = request.json
return jsonify({"received": data}), 201
if __name__ == '__main__':
app.run(debug=True, port=5000)
```
[ ] Flask-SQLAlchemy integration
[ ] Error handling personalizzato
[ ] Flask-Login per l'autenticazione