La autenticación no funciona para la autenticación personalizada
Quiero hacer una página de inicio de sesión personalizada en Django. Puedo registrar con éxito el usuario, pero cuando quiero iniciar sesión no lo hice.
Miviews.py
para iniciar sesión:
def login_user(request):
context = RequestContext(request)
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
print username
print password
user = authenticate(username=username, password=password)
if user:
print "rrrrr"
if user.is_active:
login(request, user)
return HttpResponseRedirect('/success/')
else:
return HttpResponse("Your Rango account is disabled.")
else:
print "Invalid login details: {0}, {1}".format(username, password)
return HttpResponse("Invalid login details supplied.")
else:
return render_to_response('login.html', {}, context)
Para el registro tuve que escribir este código:
def register(request):
context = RequestContext(request)
registered = False
print "inside register view"
if request.method == 'POST':
profile_form = ProfileForm(data=request.POST)
if profile_form.is_valid():
profile = profile_form.save(commit=False)
profile.save()
registered = True
else:
print profile_form.errors
else:
profile_form = ProfileForm()
return render_to_response(
'register.html',
{'profile_form': profile_form, 'registered': registered},
context)
Mimodels.py
:
class Profile(models.Model):
# user=models.OneToOneField(User)
username=models.CharField(max_length=50)
first_name=models.CharField(max_length=50)
last_name=models.CharField(max_length=50)
email=models.EmailField()
contact=models.CharField(max_length=50)
password=models.CharField(max_length=50)
def __str__(self):
return self.username or u'
Cuando suministrousername
ypassword
acepta el correo electrónico y lo pasa pero siempre entra en elotra porción: Invalid login details
. No va a entrar en elsi condición. ¿Cómo puedo hacer funcionar esto?