How to send a activation email when creating accounts in site?

140 views
Skip to first unread message

项楠

unread,
Jan 4, 2014, 3:47:20 AM1/4/14
to django...@googlegroups.com
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.

Up to now, what I have done looks like a weird combination of a custom User model from Substituting a custom User model and the theory from django-registration.

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.

Sergiy Khohlov

unread,
Jan 4, 2014, 9:26:24 AM1/4/14
to django-users
looks like signal is not sent. i will check this on Monday
Many thanks,

Serge


+380 636150445
skype: skhohlov
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users...@googlegroups.com.
> To post to this group, send email to django...@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/ed7f7396-ac88-476a-a745-c74a7e612dcd%40googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

项楠

unread,
Jan 4, 2014, 11:08:02 AM1/4/14
to django...@googlegroups.com
After a day's trying, I finally solved the both problem, at least seems like.

Now, I can create a superuser normally without invoking the activation process, 
and my system will send an activation email when a user submits valid data.

I am not sure my custom system is OK, because you mentioned 'signal' ,
and the author of  django-registration also shows some 'signal' related magic in his source code.

I cannot understand anything about 'signal'. In my system there is no 'signal' concept .

I am afraid nothing related to 'signal' will cause a potential problem, 
so would you please take a look at my file or give a rough answer, thanks!

This is the updated project file.
myauth2.zip

在 2014年1月4日星期六UTC+8下午10时26分24秒,Sergiy Khohlov写道:

Swastik Acharya

unread,
Jan 21, 2014, 4:11:30 AM1/21/14
to django...@googlegroups.com
Its very difficult to read your project dude..either u wont had chinese languages in between comments and codes or you must have written everything in your language..

cheers,
swastik
Reply all
Reply to author
Forward
0 new messages