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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta