This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Goals

The goal of this app is to easily transform django’s auth system to allow login with an email adress, instead of a username. This should work inside the admin as well as outside. Therefore, email adresses need to be unique.

The username of the User will be the hash of it’s email adress. As it means nothing, it will be hidden in the admin changelist view.

Install

Install with pip install django-email-login or checkout from Bitbucket hg clone https://bitbucket.org/tino/django-email-login and run python setup.py install.

Usage

  1. Append 'email_login' to your INSTALLED_APPS setting

  2. Insert 'email_login.auth_backend.EmailBackend' as first in the AUTHENTICATION_BACKENDS settings tuple.

  3. Add the following in you root urls.py after admin.autodiscover():

    # Insert email_login overrides
    from email_login import useradmin, adminsite
    site = adminsite.EmailLoginAdminSite()
    # duplicate the normal admin's registry until ticket #8500 get's fixed
    site._registry = admin.site._registry
    
  4. Instead of using:

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
    

    use:

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(site.urls)),
    

    to include the admin in your root urls.py.

  5. To use login outside of the admin, add:

    (r'^account/', include('email_login.urls')),
    

    to your urls.py

Note

Your admin account needs to have an email address, otherwise you won’t be able to sign in!

Note

The admin will display the username in the top right corner of the logged in user if the user has no firstname. If you want to override that, over- ride the admin/base.html template.

In conjunction with django-user-creation

If you want to use this app in conjunction with django-user-creation, you have to create your own ModelAdmin for User. You may do so by adding a useradmin.py file to your project with the following contents:

from django.contrib import admin
from django.contrib.auth.models import User
from user_creation.forms import EmailAccountCreationForm
from email_login.useradmin import EmailLoginAdmin


class MyUserAdmin(EmailLoginAdmin):
    add_form = EmailAccountCreationForm
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'password1', 'password2', 'email_user')}
        ),
    )

admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)

and adding the line import useradmin to your urls.py after the overrides described above.

Release History

Release History

0.2.4

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-email-login-0.2.4.tar.gz (8.9 kB) Copy SHA256 Checksum SHA256 Source Sep 18, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting