Simple email confirmation for django.
Project description
A Django app providing simple email confirmation.
This app can be used to support three types of User models:
Users have one email address that is stored on the User model
Users have one primary email address stored on the User model, and have N secondary emails stored in EmailAddress objects
Users have N email addresses stored in EmailAddress objects.
Examples
Add the provided mixin to your django 1.5+ custom user model:
from django.contrib.auth.models import AbstractUser
from simple_email_confirmation import SimpleEmailConfirmationUserMixin
class User(SimpleEmailConfirmationUserMixin, AbstractUser):
pass
then, when creating a new User you probably want to do something like:
user = User.objects.create_user('original@here.com')
address = user.add_unconfirmed_email(user.email)
confirmation_key = address.key
user.is_confirmed # False
send_email(user.email, 'Use %s to confirm your email' % confirmation_key)
# User gets email, passes the confirmation_key back to your server
user.confirm_email(confirmation_key)
user.is_confirmed # True
when changing a User’s email, the flow might go:
new_email = 'newaddr@nowhere.com'
address = user.add_unconfirmed_email(new_email)
confirmation_key = address.key
user.is_email_confirmed(new_email) # False
send_email(new_email, 'Use %s to confirm your new email' % confirmation_key)
# User gets email, passes the confirmation_key back to your server
user.confirm_email(confirmation_key)
user.is_email_confirmed(new_email) # True
user.set_primary_email(new_email)
user.email # newaddr@nowhere.com
Installation
pip install django-timezone-field
Running the Tests
Using Doug Hellman’s virtualenvwrapper:
mktmpenv
pip install django-simple-email-confirmation
export DJANGO_SETTINGS_MODULE=simple_email_confirmation.test_project.settings
django-admin.py test simple_email_confirmation
Found a Bug?
To file a bug or submit a patch, please head over to django-simple-email-confirmation on github.
Credits
Originally adapted from Pinax’s django-email-confirmation, which was originally adapted from James Tauber’s django-email-confirmation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-simple-email-confirmation-0.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7f4d0d6fb9c30e689aae8b48b4515b62a7951ad683eedda262d03223c76da68 |
|
MD5 | d7aded12d9b453ba46660813676b37f2 |
|
BLAKE2b-256 | 0932b15ca26b8c1eb008999e848a51a871c7b5426ca26ab2a7ebef6507a1a260 |