The password_change view takes additional arguments, one of which is
'password_change_form'. The form is responsible for changing the users
password, and by default is django.contrib.auth.forms.SetPasswordForm
(see docs):
https://docs.djangoproject.com/en/1.4/topics/auth/#django.contrib.auth.views.password_change
The form itself is responsible for changing the users password, so by
extending that class and specifying that class to be used, you can
hook directly in to the derived class's save() method and perform
whatever actions you need to when the password is changed.
Cheers
Tom