I found what I think is a bug in Django 1.6.6
Test Case
1) Create new user
2) Do not login and try to reset password using password_reset
You will see the following error
AttributeError at /password_reset/
'NoneType' object has no attribute 'replace'
Request Method: POST
Request URL:
http://localhost:8000/password_reset/Django Version: 1.6.6
Exception Type: AttributeError
Exception Value:
'NoneType' object has no attribute 'replace'
Ultimately it comes to this in ..django/contrib/auth/tokens.py
# Ensure results are consistent across DB backends
login_timestamp = user.last_login.replace(microsecond=0, tzinfo=None)
This quite obviously fails if user.last_login is None.
Suggestions?