Guida introduttiva a Django: costruisci rapidamente la tua prima applicazione Web
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.
-
Apri un terminale o un prompt dei comandi.
-
Crea una directory di progetto, ad esempio
myproject:
mkdir myproject cd myproject ```
-
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.
-
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 ```
-
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.
-
Nella directory
mysite, esegui il seguente comando:python manage.py runserver -
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.
-
Apri una nuova finestra del terminale (mantieni il server di sviluppo in esecuzione).
-
Nella directory
mysite, esegui il seguente comando:python manage.py startapp myappQuesto creerà una directory chiamata
myappnella directorymysite, contenente i file scheletro dell'applicazione Django. -
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.
-
In
mysite/settings.py, aggiungimyappall'elencoINSTALLED_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.
-
Modifica il file
myapp/views.pye aggiungi il seguente codice:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Crea un file
myapp/urls.pye 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.





