EREDITARIETA’ TRA TEMPLATES
L’idea principale che sta alla base del concetto di ereditarietà tra template è quello di scrivere un file HTML che chiameremo base.html in cui andremo a scrivere gran parte del codice. Il codice comune nelle altre pagine HTML andrà a finire nel template padre.
Andiamo a creare all’interno della cartella templates del progetto il file base.html successivamente andiamo sul sito di Bootstrap, copiamo lo starter template e lo incolliamo nella pagina HTML appena creata. Supponiamo ora di voler estendere homepage.html e articoloDetail.html quindi vogliamo andare a specificare il codice comune a queste due pagine nel template padre base.html. Andiamo ora a definire dei blocchi di codice in base.html all’interno dei quali andrà messo il codice delle pagine che stiamo estendendo.
I due tag evidenziati in rosso vanno a creare una sorta di finestra nel quale poi andrà specificato il codice dei template figli da inserire. Iniziamo a modificare la pagina dell’articolo, in alto scriviamo questo tag:
{% extends ‘base.html‘ %}
Cancelliamo tutto e lasciamo solo il contenuto.
Quando la funzione articoloDetailView andrà a renderizzare la pagina html allora Django noterà in tag extends e andrà a mettere il contenuto compreso tra il tag block content e la fine del tag nei medesimi tag nel template padre base.html. Andiamo ora a estendere con lo stesso procedimento la homepage.html coma da figura riportato.
Facciamo partire il server di sviluppo e controlliamo se tutto sta funzionando.
IL PANNELLO DJANGO ADMIN
Il pannello di amministrazione è una funzionalità per soli amministratori, qualora dovessimo fare un sito aperto al pubblico, questa sezione deve rimanere privata. Andiamo nel progetto e creiamo un superuser con il comando sopra riportato. Come avrai notato nel file urls.py la sezione admin è già configurata, esiste un url per accedervi. Come detto tale pannello consente funzionalità CRUD per i nostri modelli. Vediamo come configurare il file admin.py.
Ora entriamo nel pannello di amministrazione aggiungendo la parte /admin all’url della home page.
Per rimuovere il plurale andiamo nel file models.py e modifichiamolo nel seguente modo:
È buona norma ogni volta che si interviene sul modello effettuare una migrazione con i comandi:
python.exe manage.py makemigrations
python.exe manage.py migrate
Scrivi un commento