A django app for login with email.
Project description
Django Login Email
Allow user to login with only email.
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.
- 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.0.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.0.tar.gz.
File metadata
- Download URL: django_login_email-0.5.0.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 |
2b978f997d4c2032f727dbfccd4b2bcdd2a9a6b2767e6d35e61fc98ddec21c49
|
|
| MD5 |
34aa1e6d1c0a14c1acce27e0782c3435
|
|
| BLAKE2b-256 |
fe2286e5bd8ece629485a064a9e183f10f598f113f6d5cbfd9bd5cb7362ca371
|
File details
Details for the file django_login_email-0.5.0-py3-none-any.whl.
File metadata
- Download URL: django_login_email-0.5.0-py3-none-any.whl
- Upload date:
- Size: 24.9 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 |
28aa5dac729ae5b116751ef67f036146982bc2a8f2726b89f9019d88c34e99d2
|
|
| MD5 |
4931902adbbc07e8cad5870300f9568e
|
|
| BLAKE2b-256 |
47c3da68ab84f72617fd9caeb0d4dcbc8c75d0691ef5cb7d6e4f755c265f5e9e
|