A django app for login with email.
Project description
Django Login Email
Allow user to login and register with email address.
Install
pip install django-login-email
List of the urls for exmaple project:
/homefor protected url./account/loginfor login./account/logoutfor logout./account/verifyfor email verify.
Feature
- The developer could define their own
Usermodel. - Time-limited of login link.
- limited of sending email. Using TimeLimt to set minutes.
- The link could be used for Login once.
- Register new user.
- Support multiple user.
- Change email address.
- Ban the IP to send mail frequently without login.
- Enable 2FA.
- More easier and customizable login link.
Usage
- add
django_login_emailto your appsettings.py.
INSTALLED_APP = [
...,
'django_login_email',
...
]
- Implement the LoginView, for example, like this:
from django.shortcuts import render
from django.urls import reverse
from django_login_email import email as e
from django_login_email import views as v
# Create your views here.
loginInfo, registerInfo = e.get_info_class("meterhub")
class LoginView(v.EmailLoginView):
login_info_class = loginInfo
register_info_class = registerInfo
class VerifyView(v.EmailVerifyView):
def get_success_url(self):
return reverse("home")
class LogoutView(v.EmailLogoutView):
pass
- set the view in your
urls.py.
from django.contrib import admin
from django.urls import path
from <yourapp> import views as v
from django_login_email.views import HomeView
urlpatterns = [
...,
path("account/login", v.LoginView.as_view(), name="login"),
path("account/verify", v.VerifyView.as_view(), name="verify"),
path("account/logout", v.LogoutView.as_view(), name="logout"),
path("", HomeView.as_view(), name="home"),
]
That's all.
Debug the email with docker run -d --name mailhog -p 1025:1025 -p 8025:8025 mailhog/mailhog
Future
- Academically prove the safety of this method.
Related project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django_login_email-0.5.1.tar.gz
(15.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_login_email-0.5.1.tar.gz.
File metadata
- Download URL: django_login_email-0.5.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86ee82028039c94da09c640625a2e6040ddf6296f1864ce993e20cb38f5c83d5
|
|
| MD5 |
4786a1e0cde38f3f0b988aaccb0d1499
|
|
| BLAKE2b-256 |
a79d664a0d835ca695e78cd6c473c7691152b6f65c0e085bef6bbbf3a2039a47
|
File details
Details for the file django_login_email-0.5.1-py3-none-any.whl.
File metadata
- Download URL: django_login_email-0.5.1-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47243d88d35c4426afb3502f08769f536e1631e203fa12625d7af2af7221c57d
|
|
| MD5 |
52964a5c3aa00e87dab11ff673f82538
|
|
| BLAKE2b-256 |
d784c2e3776415fc6302a151a836cea7946d68e603271942ad8d753b4b979fd0
|