Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django - authentication, registration with email confirmation

I'm looking at the API for authentication

https://docs.djangoproject.com/en/1.3/topics/auth/

I can't seem to find information on simple user registration form that would send confirmation email as it is the usual way on web sites.

I guess I could do this:

1) Display a form 2) User enters info and submits 3) Save user as inactive, with a confirmation code 4) Send a link with confirmation code 5) User clicks a confirmation link and becomes active

It doesn't seem that difficult but I have a feeling this might be done already, and also there are quite a few edge cases that would need to be considered.

like image 806
Ska Avatar asked Jun 27 '11 03:06

Ska


2 Answers

It's not built into Django. There is a reusable app called django-allauth, which will fit your needs.

An app called django-registration used to be recommended, but that is now unmaintained and out of date.

Editor note: django-registration is not unmaintained as of December 2016.

like image 159
Torsten Engelbrecht Avatar answered Oct 20 '22 06:10

Torsten Engelbrecht


While django-registration used to be the registration system du jour, it has been abandoned by the maintainer and doesn't work on Django 1.6 without patching.

Try maybe django-allauth - I would have used it if I had known about it when I was looking. (As it turned out, I found this question first and used django-registration, wasting a lot of time.)

EDIT 10/2016: Looks like django-registration is maintained again. It's on GitHub now: https://github.com/ubernostrum/django-registration

like image 38
dja Avatar answered Oct 20 '22 07:10

dja