Skip to content

Exemple d'implémentation de Abstract User de Djando avec identification avec email aulieu de username

Notifications You must be signed in to change notification settings

TobinFrost/DjangoAbstractUserEmailLoginBased

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DjangoAbstractUserEmailLoginBased

Exemple d'implémentation de Abstract User de Djando avec identification avec email aulieu de username

Procédure

Les Modeles

Premièrement :

  • Créer dans votre model.py une classe User (ici NotreUser) qui hérite de AbstractUser
class NotreUser(AbstractUser):
      pass

Deuxiemement :

  • Lier le User model avec notre class metier (ici Etudiant)
class Etudiant(models.Model):
    user = models.OneToOneField(NotreUser,on_delete=models.CASCADE)

Troisièmement :

  • Ajouter notre User model comme class d'adminitration
admin.register(NotreUser)

class MyUserAdmin(UserAdmin):
    pass

Enfin :

  • Faire la migration
$ python manage.py makemigrations
$ python manage.py migrate

Les Formulaires

Il nous faudra associé nos class avec des Formulaires afin de simplifier leur insertion en base de donnée 

Premièrement :

  • Créer le formulaire de notre User Model, notre formulaire hérite de UserCreationForm
    • On lui indique aussi le type de notre model ici (NotreUser)
    • On lui indique aussi les champs à afficher (ici nous avons l'email,le prenom,etc...)
class NotreUserCreationForm(UserCreationForm):
  class Meta:
      model = NotreUser
      fields = ("email","first_name","last_name","is_sick")

Deuxiement : -Créer le formulaire de notre class métier (ici Etudiant)

class EtudiantForm(ModelForm):
 class Meta:
     model = Etudiant
     exclude = ("user",)
$ npm install --production
$ npm run predeploy
$ NODE_ENV=production node app

About

Exemple d'implémentation de Abstract User de Djando avec identification avec email aulieu de username

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published