Skip to content

matthiask/django-email-registration

Repository files navigation

django-email-registration

The eleventy-eleventh email registration app for Django.

But this one does not feed your cat.

https://travis-ci.org/matthiask/django-email-registration.png?branch=master

Usage

This example assumes you are using a recent version of Django, jQuery and Twitter Bootstrap.

  1. Install django-email-registration using pip.

  2. Copy this code somewhere on your login or registration page:

    <h2>{% trans "Send an activation link" %}</h2>
    <form method="post" action="{% url "email_registration_form" %}"
        class="well" id="registration">
      {% csrf_token %}
      <div class="controls">
        <input id="id_email" type="text" name="email" maxlength="30"
          placeholder="{% trans "Email address" %}">
      </div>
      <button type="submit" class="btn btn-primary">
        {% trans "Register" %}</button>
    </form>
    
    <script>
    function init_registration($) {
      $('#registration').on('submit', function() {
        var $form = $(this);
        $.post(this.action, $form.serialize(), function(data) {
          $('#registration').replaceWith(data);
          init_registration($);
        });
        return false;
      });
    }
    $(init_registration);
    </script>
    

    (Alternatively, include the template snippet registration/email_registration_include.html somewhere.)

  3. Add email_registration to INSTALLED_APPS and include email_registration.urls somewhere in your URLconf.

  4. Make sure that Django is able to send emails.

  5. Presto.