I'm new to django too, so i'm sorry if i get this wrong, but you don't seem to be authenticating the user using django's authenticate method. I made my username equal to email on.signup and then i use vanila django's auth module
On 23/04/2012 7:21 PM, "Mai" <mai.elk...@gmail.com> wrote: > here i guess i wrote Every thing to be able to log in by mail but it's > not working is there something missing please? and > AUTHENTICATION_BACKENDS = ( > 'mayapp.backends.EmailAuthBackend', > 'django.contrib.auth.backends.ModelBackend' > ) > > > backends.py > > > from django.conf import settings > from django.contrib.auth.backends import ModelBackend > from django.core.validators import email_re > from django.contrib.auth.models import User, check_password > > # Overwrite the default backend to check for e-mail address > class EmailAuthBackend(object): > """ > Email Authentication Backend > > Allows a user to sign in using an email/password pair rather than > a username/password pair. > """ > > def authenticate(self, username=None, password=None): > """ Authenticate a user based on email address as the user > name. """ > try: > user = User.objects.get(email=username) > if user.check_password(password): > return user > except User.DoesNotExist: > return None > > def get_user(self, user_id): > """ Get a User object from the user_id. """ > try: > return User.objects.get(pk=user_id) > except User.DoesNotExist: > return None > > > views.py > > > > def login_user(request): > state = "Please log in below..." > username = password = '' > if request.POST: > if 'login' in request.POST: > username = request.POST.get('username') > password = request.POST.get('password') > > user = authenticate(username=username, > password=password) > if user is not None: > if user.is_active: > login(request, user) > state = "You're successfully logged > in!" > > return > render_to_response('master.html',RequestContext(request)) > else: > state = "Your account is not > active, please contact the site > admin." > else: > state = "Your username and/or password were > incorrect." > elif 'signup' in request.POST: > form= SignUpForm() > context = {'form':form} > return > > render_to_response('Sign_up_Employer.html',context,context_instance=RequestContext(request)) > > > > return render_to_response('login.html',{'state':state, 'username': > username},RequestContext(request)) > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.