Per eseguire il rendering di un modelli con Django, devi fare uso del sistema di template di Django. Il sistema di template di Django è un componente fondamentale di questo framework web potente ed è progettato per separare la logica dell’applicazione dal suo design.
Prima di tutto, devi creare un modello. Un modello Django è una sorgente di informazioni costruita con i campi e i metodi necessari per manipolare i dati che vuoi salvare nel database. Ad esempio:
```
from django.db import models
class Prodotto(models.Model):
nome = models.CharField(max_length=200)
prezzo = models.DecimalField(max_digits=5, decimal_places=2)
descrizione = models.TextField()
```
Dopo aver creato il modello, avrai bisogno di una vista. Le viste in Django sono funzioni Python che prendono una richiesta Web e restituiscono una risposta Web. La risposta può essere il contenuto HTML di una pagina, un redirect, un errore 404, un documento XML, un’immagine o qualsiasi altra cosa. Il concetto è che la vista è responsabile di restituire quella risposta. Questo sembra molto semplice, ma le viste Django possono inoltre essere fatte per fare cose piuttosto complesse. Ad esempio:
```
from django.shortcuts import render
from .models import Prodotto
def prodotti_list(request):
prodotti = Prodotto.objects.all()
return render(request, ‘nomeapp/prodotti.html’, {‘prodotti’: prodotti})
```
In questa vista, stiamo chiamando il metodo all() sull’oggetto Prodotto.objects. Questo metodo ritorna un queryset contenente tutti i prodotti nel database. Quindi passiamo quel queryset al template ‘nomeapp/prodotti.html’ usando la funzione render().
Infine, devi creare un template. Un template in Django è un file di testo contenente la struttura o il layout di una pagina HTML (o qualsiasi altro tipo di documento), con dei punti segnaposto per i dati che verranno inseriti quando il template verrà elaborato. Ad esempio:
```
Prezzo: {{ prodotto.prezzo }}
Descrizione: {{ prodotto.descrizione }}
Troverai ulteriori dettagli sul sistema di template di Django nella documentazione ufficiale di Django (https://docs.djangoproject.com/en/3.0/topics/templates/).
Riferimenti:
https://docs.djangoproject.com/en/3.0/topics/templates/
https://docs.djangoproject.com/en/3.0/topics/db/models/
https://docs.djangoproject.com/en/3.0/topics/http/views/