Metadata-Version: 2.1
Name: django-use-email-as-username
Version: 1.2.0
Summary: A Django app to use email as username for user authentication.
Home-page: https://github.com/jmfederico/django-use-email-as-username
License: BSD-3-Clause
Keywords: django,email,auth,username
Author: Federico Jaramillo Martínez
Author-email: federicojaramillom@gmail.com
Requires-Python: >=3.5
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Django :: 2.2
Classifier: Framework :: Django :: 3.0
Classifier: Framework :: Django :: 3.1
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: testing
Requires-Dist: codecov (>=2.0.15); extra == "testing"
Requires-Dist: coverage (>=4.0); extra == "testing"
Requires-Dist: django (>=1.11)
Project-URL: Repository, https://github.com/jmfederico/django-use-email-as-username
Description-Content-Type: text/x-rst

============================
Django use Email as Username
============================

.. image:: https://badge.fury.io/py/django-use-email-as-username.svg
    :target: https://badge.fury.io/py/django-use-email-as-username

.. image:: https://app.travis-ci.com/jmfederico/django-use-email-as-username.svg?branch=main
    :target: https://app.travis-ci.com/jmfederico/django-use-email-as-username

.. image:: https://codecov.io/gh/jmfederico/django-use-email-as-username/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/jmfederico/django-use-email-as-username

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/ambv/black

A Django app to use email as username for user authentication.


Features
--------

* Custom User model with no username field
* Use email as username
* Includes a django-admin command for quick install
* Follow Django `best practices`_ for new Django projects and User models.

.. _`best practices`: https://docs.djangoproject.com/en/dev/topics/auth/customizing/#using-a-custom-user-model-when-starting-a-project


Quickstart
----------

#. Install **Django use Email as Username**:

   .. code-block:: shell

      # Run in your terminal
      pip install django-use-email-as-username

#. Add it to your *INSTALLED_APPS*:

   .. code-block:: python

      # In your settings.py file
      INSTALLED_APPS = (
          ...
          'django_use_email_as_username.apps.DjangoUseEmailAsUsernameConfig',
          ...
      )

#. Create your new django app:

   .. code-block:: shell

      # Run in your terminal
      python manage.py create_custom_user_app

#. Add the new app to your *INSTALLED_APPS*:

   .. code-block:: python

      # In your settings.py file
      INSTALLED_APPS = (
          ...
          'django_use_email_as_username.apps.DjangoUseEmailAsUsernameConfig',
          'custom_user.apps.CustomUserConfig',
          ...
      )

#. Now instruct Django to use your new model:

   .. code-block:: python

      # In your settings.py file
      AUTH_USER_MODEL = 'custom_user.User'

#. Create and run migrations:

   .. code-block:: shell

      # Run in your terminal
      python manage.py makemigrations
      python manage.py migrate

You now have a new Django app which provides a custom User model.

You can further modify the new User Model any time in the future, just remember
to create and run the migrations.


Notes
-----

This app gives you a custom User model, which is `good practice`_ for new
Django projects.

`Changing to a custom user model mid-project`_ is not easy.

.. _`good practice`: https://docs.djangoproject.com/en/dev/topics/auth/customizing/#using-a-custom-user-model-when-starting-a-project
.. _`Changing to a custom user model mid-project`: https://docs.djangoproject.com/en/dev/topics/auth/customizing/#changing-to-a-custom-user-model-mid-project

It is recommended to always create a custom User model at the beginning of every
Django project.

Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `Cookiecutter Django Package`_ by jmfederico_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`Cookiecutter Django Package`: https://github.com/jmfederico/cookiecutter-djangopackage
.. _jmfederico: https://github.com/jmfederico

