Reset / Send account details email

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from django.contrib.auth.tokens import default_token_generator
from django.contrib.sites.models import Site
from django.core.mail import send_mail
from django.template import loader
from django.template.context import Context
from django.utils.http import int_to_base36
from django.utils.translation import ugettext_lazy as _

def reset(user, domain_override=None, email_template_name='registration/password_reset_email.html',
             use_https=False, token_generator=default_token_generator):
    """Reset users password"""
    if not user.email:
        raise ValueError('Email address is required to send an email')

    if not domain_override:
        current_site = Site.objects.get_current()
        site_name = current_site.name
        domain = current_site.domain
    else:
        site_name = domain = domain_override
    t = loader.get_template(email_template_name)
    c = {
        'email': user.email,
        'domain': domain,
        'site_name': site_name,
        'uid': int_to_base36(user.id),
        'user': user,
        'token': token_generator.make_token(user),
        'protocol': use_https and 'https' or 'http',
    }
    send_mail(_("Your account for %s") % site_name,
              t.render(Context(c)), None, [user.email])

More like this

  1. Simple E-mail registration by bthomas 4 years, 6 months ago
  2. UserProfileForm by Natim 3 years, 6 months ago
  3. Password Reset Form Newforms by glisha 6 years, 1 month ago
  4. FieldsetForm by Ciantic 6 years, 1 month ago
  5. Django Registration with GMail account by btbytes 6 years, 1 month ago

Comments

(Forgotten your password?)