From a6300d03889aef9e4ab1e83fae059f08250fb147 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 14 Apr 2021 10:55:23 +0200 Subject: [PATCH] Send confirmation email after signup --- requirements.txt | 4 ++++ userausfall/models.py | 3 ++- userausfall/settings.py | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..95e08be --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +setuptools~=56.0.0 +django~=2.2.13 +djangorestframework~=3.12.4 +djoser~=2.1.0 diff --git a/userausfall/models.py b/userausfall/models.py index ec4ed30..49cc3e9 100644 --- a/userausfall/models.py +++ b/userausfall/models.py @@ -1,6 +1,7 @@ from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager from django.contrib.auth.models import PermissionsMixin from django.contrib.auth.validators import UnicodeUsernameValidator +from django.core.mail import send_mail from django.db import models from django.utils import timezone from django.utils.translation import gettext_lazy as _ @@ -34,7 +35,7 @@ class UserManager(BaseUserManager): if extra_fields.get('is_superuser') is not True: raise ValueError('Superuser must have is_superuser=True.') - return self._create_user(username, email, password, **extra_fields) + return self._create_user(email, password, **extra_fields) class User(AbstractBaseUser, PermissionsMixin): diff --git a/userausfall/settings.py b/userausfall/settings.py index 7dd20ce..d1ab09b 100644 --- a/userausfall/settings.py +++ b/userausfall/settings.py @@ -134,3 +134,18 @@ STATIC_URL = '/static/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' + + +# Djoser settings +# https://djoser.readthedocs.io/en/2.1.0/settings.html + +DJOSER = { + "ACTIVATION_URL": "confirm/{uid}/{token}", + "SEND_ACTIVATION_EMAIL": True, +} + + +# Sending email +# https://docs.djangoproject.com/en/3.2/topics/email/ + +EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'