J'ai une exigence de deux types de connexion dans mon projet django où une connexion est pour les étudiants et une connexion est pour les enseignants. J'ai parcouru la documentation de Django et d'autres ressources Internet, et j'ai trouvé une solution de conception simple, mais je ne suis pas sûr du pour et du contre car je suis encore silencieux à Django.extension du modèle utilisateur pour créer un modèle user2
Solution Je pensais que pour résoudre ce problème:
1) Pour connexion étudiant, j'ai intégré avec succès django-allauth et il fonctionne très bien.
2) Maintenant, pour la connexion des enseignants, je pense à construire un modèle comme suit:
class Teacher(models.Model):
teacher = models.OneToOneField(User,unique=True)
identifier = models.CharField(max_length=128)
#other fields
3) Ensuite, deux formes sur ce modèle - Inscription et Connexion pour les enseignants et le formulaire de vérification e-mail: Here I pensé que je vais créer objet enseignant et objet étudiant sur inscription réussie, mais je vais définir is_active=False
et demander la vérification de l'email.En cas de vérification réussie, je vais définir is_active=True
de sorte qu'un enseignant peut se connecter avec succès. 4) Éviter que les étudiants ne se connectent à la section des enseignants et que les enseignants puissent se connecter dans la section des étudiants: Ici, je cherche un champ d'identifiant pour éviter que les étudiants authentifiés ne se connectent dans la section des enseignants.
S'il vous plaît quelqu'un peut-il m'aider en fournissant votre opinion sur cette solution ou en suggérant une meilleure alternative que je suis toujours en train de lire de plus en plus de documentation Django à ce sujet.
Merci à l'avance!
En fait, j'essaie de vérifier l'inscription par la vérification par courriel au numéro 3. En fait, mon identifiant d'étudiant est en ligne sur les quatre derniers mois avec environ 1500 inscriptions, donc je ne veux pas changer le mécanisme de connexion des étudiants. Cette idée de UserProfile semble bonne.J'enquête plus loin afin que je puisse le faire fonctionner dans mon scénario. Merci!! – gmfreak