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-simple-email-confirmation
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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2deb8fbccb708c55337ee5c8ff76ec755e477eb4ad9f7cb08a975afa1ac5bdd9 |
|
MD5 | da7acd20871eb9f0059bfaad1683e53f |
|
BLAKE2b-256 | 6f42f7bc4382e3950d2f4caed904759a8f312a96a298ab7d2600f7b752f2d156 |