Django Academy · Lezione

Registrazione con UserCreationForm

Consentire agli utenti di registrarsi in sicurezza

Lezione 3 di 413 passaggi

Registrazione con UserCreationForm è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Consentire la registrazione degli utenti

L'accesso presuppone che gli account esistano già. Per permettere ai visitatori di crearne uno, serve una vista di registration basata su un modulo di registrazione. ✍️

Conoscere UserCreationForm

Django mette a disposizione UserCreationForm, un modulo già pronto con il nome utente e due campi per la password, che al salvataggio crea un User.

from django.contrib.auth.forms import UserCreationForm

Controlli integrati delle password

Il modulo verifica che le due password corrispondano ed esegue i validatori di robustezza di Django, quindi le password deboli o non corrispondenti vengono rifiutate automaticamente.

Visualizzare il modulo con GET

Per una richiesta GET, crei un modulo vuoto e lo visualizzi. Questa è la pagina di registrazione vuota che il visitatore vede inizialmente.

form = UserCreationForm()
return render(request, "signup.html", {"form": form})

Associare i dati con POST

Con una richiesta POST, costruisca il modulo con request.POST, così conterrà i valori inviati e sarà pronto per la convalida.

form = UserCreationForm(request.POST)

Convalidare e poi salvare

Chiami is_valid(); se la convalida ha esito positivo, form.save() inserisce il nuovo utente con una password correttamente sottoposta ad hashing. Una sola riga crea l'account.

if form.is_valid():
    user = form.save()

Autenticare subito l'utente

Un flusso intuitivo autentica subito l'utente dopo la registrazione. Chiami login() con l'utente salvato, così non dovrà compiere un secondo passaggio.

user = form.save()
login(request, user)

Visualizzare gli errori

Quando la convalida fallisce, visualizzi di nuovo lo stesso modulo. Contiene messaggi di error che indicano all'utente esattamente cosa correggere.

Il template di registrazione

Il template inserisce il modulo in una richiesta POST e aggiunge csrf_token. Visualizzi i campi e un pulsante di invio per completare la pagina.

Estendere il modulo

Le serve un campo per l'email? Crei una sottoclasse di UserCreationForm e lo aggiunga. Il modulo integrato mantiene tutto essenziale finché non richiede altro.

Reindirizzare dopo il successo

Concluda inviando il nuovo utente a una destinazione utile con un redirect, ad esempio la sua dashboard, invece di visualizzare nuovamente il modulo.

return redirect("dashboard")

Verifica rapida

Che cosa verifica automaticamente UserCreationForm riguardo alla password?

Riepilogo: registrazione

Ha usato UserCreationForm per convalidare le registrazioni, ha salvato il nuovo utente con una password sottoposta ad hashing e lo ha autenticato immediatamente. ✅

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Registrazione con UserCreationForm» è gratuita?

Sì — il testo completo di «Registrazione con UserCreationForm» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «Registrazione con UserCreationForm»?

Consentire agli utenti di registrarsi in sicurezza Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Registrazione con UserCreationForm»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il modello User e authenticate()
  2. login, logout e viste di autenticazione
  3. Registrazione con UserCreationForm
  4. login_required e protezione delle viste
← Torna a Django Academy