Creare un sito web dinamico con Python e Flask: guida passo passo completa

Guida pratica e dettagliata per realizzare da zero un sito web dinamico utilizzando Python e Flask. Esempi pratici, setup ambiente, gestione dati e deploy finale.

SMART TIPS

ZeroCrash

7/23/20251 min leggere

Creare un sito web dinamico con Python e Flask: guida passo passo completa

Introduzione

Flask è un framework Python leggero e versatile, ideale per creare rapidamente siti web dinamici. In questa guida passo passo, vedremo come realizzare un sito completo con Flask, partendo dalle basi e arrivando fino al deploy finale.

Requisiti

  • Python 3.x installato sul tuo sistema

  • Un editor di testo o IDE (es. VSCode, PyCharm)

Step 1: Setup Ambiente Virtuale

Per iniziare in modo ordinato, creiamo un ambiente virtuale.

python -m venv flaskenv

source flaskenv/bin/activate          # Linux/Mac

flaskenv\Scripts\activate              # Windows

Step 2: Installare Flask

Con l'ambiente virtuale attivo, installiamo Flask:

pip install flask

Step 3: Creare la Prima Applicazione

Crea un file app.py:

from flask import Flask

app = Flask(__name__)

@app.route('/')

def home():

return 'Benvenuto su ZeroCrash!'

if name == '__main__':

app.run(debug=True)

Avvia l'applicazione:

python app.py

Visita http://127.0.0.1:5000 nel browser per vedere il risultato.

Step 4: Template Dinamici con Jinja2

Creiamo una cartella templates con un file index.html:

<!DOCTYPE html>

<html>

<head>

<title>{{ titolo }}</title>

</head>

<body>

<h1>{{ messaggio }}</h1>

</body>

</html>

Modifica app.py:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

def home():

return render_template('index.html', titolo='ZeroCrash', messaggio='Benvenuto sul tuo sito Flask!')

if name == '__main__':

app.run(debug=True)

Step 5: Gestire i dati con SQLite

Installiamo SQLAlchemy:

pip install flask_sqlalchemy

Aggiorna app.py:

from flask import Flask, render_template

from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///zerocrash.db'

db = SQLAlchemy(app)

class Articolo(db.Model):

id = db.Column(db.Integer, primary_key=True)

titolo = db.Column(db.String(100))

contenuto = db.Column(db.Text)

with app.app_context():

db.create_all()

@app.route('/')

def home():

articoli = Articolo.query.all()

return render_template('index.html', articoli=articoli)

if name == '__main__':

app.run(debug=True)

Step 6: Deploy online

Per un deploy veloce, puoi usare Heroku o servizi simili. Ecco un esempio rapido:

  • Crea un file requirements.txt:

                 pip freeze > requirements.txt

  • Crea un file Procfile:

        web: gunicorn app:app

  • Installa Gunicorn:

         pip install gunicorn

  • Deploy su Heroku:

    heroku login

    heroku create nome-tuo-sito

    heroku git:remote -a nome-tuo-sito

    git add .

    git commit -m "primo deploy Flask"

    git push heroku master

Conclusione

Seguendo questi semplici step hai realizzato un sito web dinamico con Flask, pronto per essere personalizzato e ampliato secondo le tue esigenze.

ZeroCrash