Guida introduttiva a Django: costruisci rapidamente la tua prima applicazione Web

2/19/2026
6 min read

Guida introduttiva a Django: costruisci rapidamente la tua prima applicazione Web

Django è un framework Web Python di alto livello, che mira allo sviluppo rapido e al design pulito. Segue l'architettura Model-Template-View (MTV) e incoraggia il riutilizzo del codice e la modularità. Questa guida ti guiderà passo dopo passo nella creazione di una semplice applicazione Django, per iniziare rapidamente.

1. Configurazione dell'ambiente

Innanzitutto, devi assicurarti che Python sia installato sul tuo sistema. Django consiglia di utilizzare Python 3.6 o versioni successive.

1.1 Installazione di Python

Se Python non è installato sul tuo sistema, puoi scaricarlo e installarlo dal sito Web di Python.

1.2 Creazione di un ambiente virtuale (Virtual Environment)

Per isolare le dipendenze tra diversi progetti, si consiglia vivamente di utilizzare un ambiente virtuale.

  1. Apri un terminale o un prompt dei comandi.

  2. Crea una directory di progetto, ad esempio myproject:

mkdir myproject cd myproject ```

  1. Crea e attiva l'ambiente virtuale:

python3 -m venv venv # oppure python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```

Dopo aver attivato l'ambiente virtuale, il prompt del terminale visualizzerà `(venv)`, indicando che stai utilizzando l'ambiente virtuale.

1.3 Installazione di Django

Nell'ambiente virtuale attivato, utilizza pip per installare Django:

pip install Django

Verifica se l'installazione è andata a buon fine:

python -m django --version

Dovresti essere in grado di vedere il numero di versione di Django.

2. Creazione di un progetto Django

Dopo aver installato Django, puoi creare un nuovo progetto Django.

  1. Sempre nella directory del tuo progetto (myproject), esegui il comando seguente:

django-admin startproject mysite ```

Questo creerà una directory denominata `mysite` nella directory `myproject`, contenente i file scheletro del progetto Django.

2. Entra nella directory mysite:

```bash

cd mysite ```

  1. La struttura della directory del progetto Django è la seguente:

mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```

*   `manage.py`: uno strumento da riga di comando per la gestione del progetto Django.
*   `mysite/`: un pacchetto Python contenente la configurazione del progetto.
    *   `__init__.py`: un file vuoto che indica a Python che la directory deve essere considerata un pacchetto Python.
    *   `settings.py`: il file di configurazione del progetto, come le impostazioni del database, la modalità di debug, ecc.
    *   `urls.py`: la configurazione del routing URL, che mappa gli URL alle funzioni di visualizzazione.
    *   `asgi.py`: il file di configurazione ASGI (Asynchronous Server Gateway Interface) per la distribuzione di applicazioni asincrone.
    *   `wsgi.py`: il file di configurazione WSGI (Web Server Gateway Interface) per la distribuzione di applicazioni sincrone tradizionali.## 3. Avviare il server di sviluppo

Django include un server di sviluppo leggero, utile per lo sviluppo e il test in locale.

  1. Nella directory mysite, esegui il seguente comando:

    python manage.py runserver
    
  2. Apri il tuo browser e visita http://127.0.0.1:8000/. Dovresti vedere la pagina "It worked! Congratulations on your first Django-powered page.".

4. Creare un'applicazione Django

Un progetto Django può contenere più applicazioni. Creiamo un'applicazione chiamata myapp.

  1. Apri una nuova finestra del terminale (mantieni il server di sviluppo in esecuzione).

  2. Nella directory mysite, esegui il seguente comando:

    python manage.py startapp myapp
    

    Questo creerà una directory chiamata myapp nella directory mysite, contenente i file scheletro dell'applicazione Django.

  3. La struttura della directory dell'applicazione Django è la seguente:

    myapp/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    
    • __init__.py: Un file vuoto che indica a Python che la directory deve essere considerata un pacchetto Python.
    • admin.py: Utilizzato per configurare il pannello di amministrazione di Django.
    • apps.py: Configurazione dell'applicazione.
    • migrations/: Utilizzato per gestire le migrazioni del database.
    • models.py: Definisce i modelli di dati (tabelle del database).
    • tests.py: Scrive casi di test.
    • views.py: Definisce le funzioni di visualizzazione, gestisce le richieste e restituisce le risposte.
  4. In mysite/settings.py, aggiungi myapp all'elenco INSTALLED_APPS:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'myapp',  # Aggiungi myapp
    ]
    

5. Creare una vista semplice

Ora creiamo una vista semplice per visualizzare "Hello, Django!" nel browser.

  1. Modifica il file myapp/views.py e aggiungi il seguente codice:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    
  2. Crea un file myapp/urls.py e mappa l'URL alla funzione di visualizzazione:

    from django.urls import path
    from . import views

    urlpatterns = [
        path('', views.index, name='index'),
    ]
    ```

3.  Includi `myapp/urls.py` in `mysite/urls.py`:

    ```python
    from django.urls import include, path
    from django.contrib import admin

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),  # Aggiungi la configurazione URL di myapp
    ]
    ```

4.  Visita `http://127.0.0.1:8000/myapp/`. Dovresti vedere la pagina "Hello, Django!".

## 6. Crea un modello

Creiamo un modello semplice per memorizzare alcuni dati.

1.  Modifica il file `myapp/models.py`, aggiungendo il seguente codice:

    ```python
    from django.db import models

    class Question(models.Model):
        question_text = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published')

        def __str__(self):
            return self.question_text
    ```

    Questo definisce un modello chiamato `Question`, contenente due campi: `question_text` (CharField) e `pub_date` (DateTimeField).

2.  Crea e applica le migrazioni del database:

    ```bash
    python manage.py makemigrations myapp
    python manage.py migrate
    ```

    Il comando `makemigrations` creerà file di migrazione in base al tuo modello, il comando `migrate` applicherà le migrazioni al database.

## 7. Usa il pannello di amministrazione di Django

Django fornisce un potente pannello di amministrazione, che può essere utilizzato per gestire facilmente i tuoi dati.

1.  Crea un superutente:

    ```bash
    python manage.py createsuperuser
    ```

    Segui le istruzioni per inserire nome utente, email e password.

2.  Modifica il file `myapp/admin.py`, registra il modello `Question`:

    ```python
    from django.contrib import admin
    from .models import Question

    admin.site.register(Question)
    ```

3.  Visita `http://127.0.0.1:8000/admin/`, accedi con il superutente che hai creato. Dovresti vedere il modulo "Questions", dove puoi aggiungere, modificare ed eliminare domande.

## 8. Usa i template

L'utilizzo dei template può generare pagine HTML in modo più flessibile.1. Nella directory `myapp`, crea una directory chiamata `templates` e all'interno di `templates` crea un'altra directory chiamata `myapp` (`myapp/templates/myapp`).

2. Nella directory `myapp/templates/myapp`, crea un file chiamato `index.html` e aggiungi il seguente codice:

    ```html
    
    
        
            Hello, Django!
        
        
            The current time is: {{ current_time }}
        
    
    ```

3. Modifica il file `myapp/views.py` per utilizzare il template:

    ```python
    from django.shortcuts import render
    import datetime

    def index(request):
        now = datetime.datetime.now()
        return render(request, 'myapp/index.html', {'current_time': now})
    ```

    La funzione `render` carica il template e passa i dati al template per il rendering.

4. Rivisita `http://127.0.0.1:8000/myapp/`. Dovresti vedere una pagina che mostra l'ora corrente.

## 9. Conclusione

Attraverso questa guida, hai appreso i concetti base di Django e come usarlo, inclusa la configurazione dell'ambiente, la creazione di progetti e applicazioni, la definizione di modelli, la creazione di viste e l'utilizzo di template. Questo è solo l'inizio, Django offre una vasta gamma di funzionalità che puoi continuare a studiare ed esplorare per costruire applicazioni Web più complesse.
Published in Technology

You Might Also Like