Parte del Video Corso Guida Pratica e Completa a Django 2 e Bootstrap 4 di https://www.programmareinpython.it
Link Corso Scontato (coupon limitati) https://www.udemy.com/guida-pratica-e-completa-a-django-2-e-bootstrap-4/?couponCode=LINKDINPRO
2. DJANGO Lv. 3
PROGRAMMAREINPYT
Si tratta dell’ultima sezione dedicata all’analisi delle
funzionalità principali di Django, prima di passare alla
creazione di un caso d’uso reale, un progetto nella sua
interezza!
Parleremo di Form e validazione degli input utente, e
vedremo come effettuare Registrazione e Login al di
fuori della sezione Admin
3. DJANGO Lv. 3 – Lezioni
Django Form Handling Process
I Form in Django
Validazione Form
Model Form
Registrazione e Autenticazione
Prova Pratica e Soluzione
PROGRAMMAREINPYT
5. DJANGO Lv. 3 – Intro Django Form
Un Form HTML è un gruppo di uno o più campi
input/widget in una Pagina Web, che viene usato
per raccogliere dati dagli utenti da inviare al
server
I Form sono versatili: disponiamo di widget per
tantissimi tipi di input, come aree testuali,
checkbox, campi numerici
I Form sono inoltre relativamente sicuri, potendoli
usare sia per richieste HTTP di tipo GET che di
tipo POST PROGRAMMAREINPYT
6. DJANGO Lv. 3 – Intro Django Form
Scrivere il codice HTML per un form è un
relativamente semplice: si tratta spesso di poche
righe!
Il lavoro si complica iniziando con la creazione di
un sistema in grado di ricevere e processare i dati
inseriti
Tra i compiti da svolgere abbiamo la validazione
dei dati, la comunicazione all’user di eventuali
errori, la gestione e il processing dei dati ricevuti,
e quindi l’invio di una risposta! PROGRAMMAREINPYT
7. DJANGO Lv. 3 – Intro Django Form
Il compito di ogni buon Framework è proprio
quello di fornirci una struttura che ci consenta di
concentrarci direttamente sul lavoro che
dobbiamo svolgere, senza dover “re-inventare la
ruota”
Django ci fornisce una serie di strumenti che ci
aiutano nella creazione di form in grado di
accettare input dagli utenti, processare questi dati
e fornire una risposta!
PROGRAMMAREINPYT
8. DJANGO Lv. 3 – Intro Django Form
Fin’ora abbiamo già
usato dei form in
Django, nella sezione
admin: in questa
sezione vedremo
come impiegare i form
in altre aree del sito
PROGRAMMAREINPYT
9. DJANGO Lv. 3 – Intro Django Form
Prima di passare alla scrittura del codice, analizziamo uno
schema del processo di gestione dei form da parte di
Django!
programmareinpytho
10. DJANGO Lv. 3 – Intro Django Form
Django Form Handling
Process
Ci riferiamo ai Form come
“unbound” quando non
sono ancora associati con
dati inseriti dall’utente
PROGRAMMAREINPYT
12. DJANGO Lv. 3 – I Form in Django
In questa lezione vedremo finalmente come poter
utilizzare i Form in Django, parlando di FORM CLASS,
FORMS API e FORM FIELDS !
Partendo da un nuovo progetto ci occuperemo della
creazione dei Form Django all’interno di un nuovo file
chiamato forms.py, analizzando anche i vari campi che
possiamo assegnare ai Form
Vedremo come utilizzare i Template HTML per mostrare
il Form nella sua interezza, con widget e campi input
Creeremo una Funzione View in grado di processare i
dati inseriti PROGRAMMAREINPYT
13. DJANGO Lv. 3 – I Form in Django
Link utili dalla Documentazione Ufficiale
Indispensabile come referenza per la creazione di form personalizzati
Working with forms
Form Fields
FORMS API
PROGRAMMAREINPYT
14. DJANGO Lv. 3 – I Form in Django
INIZIAMO SUBITO!
PROGRAMMAREINPYT
16. DJANGO Lv. 3 – Validazione Form
In questa lezione vedremo come effettuare semplici
validazioni degli input inseriti dagli utenti, nei nostri Form
Faremo questo sovrascrivendo il metodo
clean_<nome_campo>, usando
django.core.exceptions.ValidationError, gli attributi
required e validators
INIZIAMO SUBITO!
PROGRAMMAREINPYT
20. DJANGO Lv. 3 – Model Form
Quando costruiamo un sito o un’app che fa utilizzo di
database, c’è una buona possibilità di trovarsi a dover
creare form che sono estremamente simili alla definizione
dei modelli della nostra app
Ad esempio, all’interno di un blog, potremmo avere la
necessità di creare dei form che vadano poi a popolare
una tabella nel database associata ad una classe
Commento definita nel file models.py
Per facilitarci il lavoro e rispettare il principio D.R.Y.,
Django ci fornisce la classe django.forms.ModelForm
PROGRAMMAREINPYT
21. DJANGO Lv. 3 – Model Form
Ciascun ModelForm dispone anche di un metodo save()
che ci permette di creare e modificare oggetti dentro al
database!
Facciamo subito degli esempi!
PROGRAMMAREINPYT
23. DJANGO Lv. 3 – Autenticazione
In questa lezione parliamo di Autenticazione, e nello specifico
approfondiremo gli aspetti di Login, Logout e Password Reset!
Vedremo come impostare Django per eseguire tutte queste
operazioni al di fuori della Sezione Admin, che ricordiamolo,
non è pensata per l’accesso degli utenti standard!
Il sistema di autenticazione è stato già messo in piedi quando
abbiamo dato il comando django-admin startproject;
tabelle e permessi sono stati settati col primo python
manage.py migrate
PROGRAMMAREINPYT
24. DJANGO Lv. 3 – Autenticazione
Django ci fornisce quasi tutto ciò di cui abbiamo bisogno per
settare un sistema di autenticazione al di fuori di admin: url
mapper, views e forms; Vedremo quindi come configurare
queste componenti e creeremo quanto mancante: i
Templates!
Troviamo degli esempi di Templates appropriati per
l’autenticazione nella documentazione ufficiale
INIZIAMO!
PROGRAMMAREINPYT
26. DJANGO Lv. 3 – Registrazione
In questa lezione vedremo come creare un sistema di
registrazione!
Per fare questo avremo bisogno di una funzione view con
corrispettivo path url, un form e un template html
INIZIAMO SUBITO!
PROGRAMMAREINPYT
28. DJANGO Lv. 3 – Prova Pratica
La Prova Pratica di questa sezione consiste nella
creazione di una pagina di contatto per un Sito Web:
volendo potete utilizzare parte del codice utilizzato
durante la sezione
Il form di contatto ha i seguenti campi: contatto, email,
oggetto, contenuto
I dati inseriti andranno salvati nel database, in modo da
poterci accedere in un secondo momento dal Pannello di
Amministrazione
PROGRAMMAREINPYT