thanks for your reply, shawn. that's a good idea, and i already have a
one-to-one table inherited from User where i can stash the initial
encrypted password. the only thing i don't like about doing it this
way is that i am currently trying to use as much generic, built-in
django as i can and that means in this case that i am using the
standard django login function (i.e. (r'^accounts/login/$',
'django.contrib.auth.views.login')).
i first thought that i might be able to just write a little wrapper
around that function to implement the logic you suggested, letting the
generic function log the user in and then deciding where to redirect
based on the password comparison between User and the one-to-one
table.
but django.contrib.auth.views.login has a redirect buried right inside
it, so i don't see how i can do this without re-implementing the whole
login function in my project. that's not a big deal from a code
standpoint; just a copy-paste and adding the additional logic which is
minimal. but i was hoping to avoid replacing the generic django
functionality in areas like this where future django updates might
cause conflicts. this might not be a big deal in this case, but i am
relatively new to django and don't have a sense of where this kind of
hacking is safe and where not.