I think this can be easily explained by pointing out a misunderstanding.

Whether or not a form's values are valid has nothing to do with
whether the values are meaningful. That is, a login form with a
present but incorrect password is in fact valid.

I'm sure that full_clean is getting called, and the default value of
None is getting replaced by an empty ErrorDict once the clean
determines that no fields are invalid.

If you look at the code that's used by the django.contrib.auth to log
users in, there are more steps after simple form validation needed to
log a user in.
https://docs.djangoproject.com/en/1.3/topics/auth/#authentication-in-web-requests

After the form is validated, the values are then used with the
authenticate method to attempt to find a matching user in the
database. If one is found, an additional step is taken to update the
request with the user.

Understanding that, plus checking out the link above should clear up
your confusion. If you read and understand it but still think your
code has a different problem, please describe it in more detail.

Shawn

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to