2016-04-17 7 views
1

Warum die Authentifizierung nicht mit benutzerdefinierten Modell „Berater“ arbeiten .i viel versucht, aber es funktioniert nicht models.pyAuthentifizierung funktioniert nicht foer benutzerdefinierte Modell

class Consultants(models.Model): 
    # user=models.OneToOneField(User) 
    consul_id=models.IntegerField(default=0,primary_key=True) 
    first_name=models.CharField(max_length=255,blank=True,null=True) 
    last_name=models.CharField(max_length=255,blank=True,null=True) 
    email=models.EmailField(max_length=255,blank=True,null=True) 
    username=models.CharField(max_length=255,blank=True,null=True) 
    password=models.CharField(max_length=50,blank=True,null=True) 
    consul_pic=models.ImageField(upload_to="/home/cp/Documents/consul_pic",blank=True,null=True) 
    mobile_no=models.CharField(max_length=255,blank=True,null=True) 
) 
    last_login=models.DateTimeField(default=datetime.now,blank=True,null=True) 
    is_active=models.BooleanField(default=False) 


    def __str__(self): 
     return self.first_name or u'' 

views.py

def login_user(request): 
    context = RequestContext(request) 
    if request.method == 'POST': 
     username = request.POST['username'] 
     password = request.POST['password'] 
     print type(username) 
     try: 
      user = authenticate(username=username, password=password) 
      print 'chala' 
      if user.is_active: 
       user.backend = 'django.contrib.auth.backends.ModelBackend' 
       login(request, user) 

       return HttpResponse("welcome......you are succesfuly log in") 
      else: 
       return HttpResponse("Your account is disabled.") 
     except ObjectDoesNotExist: 
      return HttpResponse("INvalid User") 


    else: 
     return render_to_response('login.html', {}, context) 

wenn ich versuche es keine Rückkehr zu authentifizieren. es ist der richtige Weg, den ich versuche mich einzuloggen, bitte hilf mir dabei.

+0

in Benutzer ein obj der Berater shoul zurück, aber, keine Rückkehr –

Antwort

1

das Benutzermodell von Customizing Sie dieses
Referenz sollten nicht versuchen, richtige Weg ist: https://docs.djangoproject.com/en/1.9/topics/auth/customizing/

from django.contrib.auth.models import (AbstractBaseUser, 
             PermissionsMixin, 
             UserManager) 

class Consultants(AbstractBaseUser, PermissionsMixin): 
     consul_id=models.IntegerField(default=0,primary_key=True) 
     first_name=models.CharField(max_length=255,blank=True,null=True) 
     last_name=models.CharField(max_length=255,blank=True,null=True) 
     email=models.EmailField(max_length=255,blank=True,null=True) 
     username=models.CharField(max_length=255,blank=True,null=True) 
     password=models.CharField(max_length=50,blank=True,null=True) 
     consul_pic=models.ImageField(upload_to="/home/cp/Documents/consul_pic",blank=True,null=True) 
     mobile_no=models.CharField(max_length=255,blank=True,null=True)) 
     last_login=models.DateTimeField(default=datetime.now,blank=True,null=True) 
     is_active=models.BooleanField(default=False) 
     objects = UserManager() 


     def __str__(self): 
      return self.first_name or u'' 
+0

{ 'user': >}, wie ich shyam123 Wert von oben dictioanry –

+0

zugreifen können diesen Wert versuchen = dict.get (Benutzer) .username (Attributname) –

Verwandte Themen