-1

Ich habe zwei verschiedene Arten von Benutzern erstellt - LKW & Unternehmen mit Django. Hier ist meine Registrierungsseite eines Benutzers Registration Pagewie verschiedene Arten von Seiten an verschiedene Benutzer nach dem Login in Django umleiten

Nach der Registrierung werden die Daten darüber, ob der Benutzer ein LKW oder eine Firma ist, in die Datenbank gehen.

In meiner Login-Seite sind nur EmailID und Passwort einzugeben.

Ich würde gerne wissen, wie ein Benutzer mit einer eindeutigen EmailID zu einer gültigen Seite basierend auf dem Typ des Benutzers umleiten kann.

+0

Jeder Code Stück, das Sie – burning

+0

Nope versucht haben, ich haven‘ Ich habe alles versucht. Ich bin neu in Django. Ich habe gerade die Registrierungsseite und Anmeldeseite erstellt und bin danach festgefahren. Keine Idee, weiter zu gehen. Kann ich die Details meiner CustomUser-Erstellung teilen? – vanam

Antwort

0

Sie brauchen so etwas;

def user_login(request): 
    if request.method == 'POST': 
     form = AuthenticationForm(data=request.POST) 
     if form.is_valid(): 
      form.clean() 
      login(request, form.user_cache) 
      if form.user_cache.type == 'truck': 
       return HttpResponseRedirect('/some/where') 
      elif form.user_cache.type == 'company': 
       return HttpResponseRedirect('/some/where/else') 
    else: 
     form = AuthenticationForm() 

    return render(request, 'login.html', {'form' : form}) 
+0

Danke für Ihre freundliche Antwort. Ich habe kein AuthenticationForm in meinem forms.py erstellt. Ich habe gerade ein CustomRegistrationForm erstellt, damit die Benutzerdetails an anderer Stelle speichern können. Aber ich bin in der Lage, die Benutzerdetails zu meiner views.py zu bekommen. Darf ich wissen, wie kann ich das tun? – vanam

+0

Eigentlich ist AuthenticationForm von '' 'aus django.contrib.auth.forms'''. Ich brauchte keine komplexe Authentifizierung, also nahm ich die von Django. – Bestasttung

0

Ihr individuelles Benutzermodell ist wahrscheinlich so etwas wie folgt aus:

class myuser(models.Model): 
    myUser = models.ForeignKey(User,..) 
    userType = models.CharField(choices=(('truck','truck'),('company','company')) 

Ihre Ansicht sollte wie folgt sein:

def login(request): 
# authentication and getting the data from POST request to your login page, 
# i assume you have a variable called user and you have your user object in it 
    userType = user.userType 
    if userType == company: 
     return HttpResponseRedirect('/some/url/') 
    if userType == truck: 
     return HttpResponseRedirect('/some/other/url/') 
Verwandte Themen