Django Email Accounts
Django Email Accounts is a Django app for user management with email-based authentication. It provides a customizable User model and registration view for handling user registration and authentication using email and password.
Installation
Install the package using pip:
pip install django-email-accounts
Usage
- Add
'email_accounts'
to the INSTALLED_APPS
list in your Django project's settings.py
file:
INSTALLED_APPS = [
...
'email_accounts',
...
]
- Change the default authentication user model by adding this line of code in your Django project's
settings.py
file:
AUTH_USER_MODEL = 'email_accounts.User'
- Update your project's
urls.py
file to include the email-accounts URLs:
from django.urls import path, include
urlpatterns = [
...
path('accounts/', include('email_accounts.urls')),
...
]
Note : If you want to use the restfull api instead, then here is a propre update for urls.py
:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from email_accounts.views import UserViewSet
router = DefaultRouter()
router.register('users', UserViewSet)
urlpatterns = [
...
path('api/', include(router.urls)),
path('api/accounts/', include('email_accounts.api_urls')),
...
]
- Run migrations to create the necessary database tables:
python manage.py makemigrations email_accounts
python manage.py migrate
- You can now use the email-accounts functionality in your Django project.
Note : If you want custom authentication templates, then, in your templates folder, create a email_accounts
subdirectory in templates
directory and create all authentication templates on it like this.
├── templates
│ └── email_accounts
│ ├── login.html
│ ├── register.html
│ └── password
│ ├── change
│ ├── ├── 1.html
│ ├── └── 2.html
│ └── reset
│ ├── 1.html
│ ├── 2.html
│ ├── 3.html
│ └── 4.html
Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository.
To contribute to the project, follow these steps:
- Fork the repository on GitHub.
- Clone your forked repository to your local machine.
- Create a new branch for your feature or bug fix.
- Make the necessary changes and commit them.
- Push the changes to your forked repository.
- Submit a pull request to the main repository.
Please ensure that your code adheres to the project's coding conventions and includes appropriate tests. Also, provide a clear description of the changes you have made in the pull request.
Thank you for your contributions!
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.