Je suis relativement nouveau pour django ..authentification de connexion django
Dans l'application que je construis, il existe plusieurs types d'utilisateurs (c.-à-Utilisateur1, Utilisateur2, Utilisateur3) qui sont tous héritant de django.contrib .auth.models.User et lors de la connexion, chaque utilisateur doit être redirigé vers une page de succès en fonction du type d'utilisateur qu'ils sont.
En views.py:
def login_attempt(request):
user = request.user
data = {}
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
try:
User1.objects.get(username = user.username)
type = "undergrad"
except ObjectDoesNotExist:
pass
try:
User2.objects.get(username = user.username)
type = "grad"
except ObjectDoesNotExist:
pass
try:
User3.objects.get(username = user.username)
type = "sponsor"
except ObjectDoesNotExist:
pass
return render_to_response (
"templates/success_"+type+".html",
data,
context_instance=RequestContext(request)
)
else:
return render_to_response (
"templates/fail1.html",
data,
context_instance=RequestContext(request)
)
else:
return render_to_response (
"templates/fail2.html",
data,
context_instance=RequestContext(request))
et type(user)
est <class 'django.contrib.auth.models.User'>
Je les tests en cours d'exécution par "test manage.py" - l'authentification et réoriente travaillent pour Utilisateur1 et Utilisateur2 avec succès, cependant, il ne s'authentifie pas pour User3 et renvoie le modèle "fail2.html". Tous les autres tests avec User3 ont renvoyé des résultats valides.
Des suggestions? Ceci est mon premier post de question, alors n'hésitez pas à poser des questions si j'ai laissé des informations pertinentes!
Merci d'avance.
Que est différent entre les types de classe? –
ils ont chacun un champ de groupe qui ForeignKeys à différentes classes de groupe, qui héritent tous de django.contrib.auth.Group (un peu comme les utilisateurs) – Eunice
Ok, qu'est-ce qui est différent à propos des objets 'Group' qui les rend dignes d'avoir entièrement nouvelles classes? –