I use django 1.6.1 and python 3.3.3 in windows8. I want to build a app named 'customauth' that supports email activation. I choose to create my own user model from the django.contrib.auth.models.AbstractBaseUser , not a profile model that holds a OneToOneField to django build-in User model.
This model class is called 'MyUser'.Its features:
1. Only three fields : email, username and password are required when creating an MyUser instance.
2. User logins my site via email and password.
3. When creating a user (not superuser), field 'is_active' is False, 'activation_key' is set to a random key with username, then, djanog sends an email with a activation_key link to him. If user clicks it in some days (like 3), his 'is_active' turns True, 'activation_key' turns to be a constant , so he can login.
4.When creating a superuser, its 'is_active' is True, 'activation_key' is a constant directly and not invoking the process of sending activation email.
Now my situation is weird:
1.Only when 'python manage.py syncdb' in cmd.exe, creating the superuser, the whole process can work fine (i.e.,send a mail, then click it to activate). However, this superuser can not login admin site despite its 'is_admin' is True. It can only login user site.
2.When you register a user in the normal way (you enter some required infomation in the form), the user can be created, but django will not send a email to this user.
Now I donot know the reason, but as the email activation system works fine when first creating the superuser, there must be a way to make it works in user register.
So, what should I do, Thanks.
This is the project file
myauth.zip, if needed.'customauth' is the app.