Мне нужна помощь с джанго allauth, пользователь сразу после регистрации заходит на сайт, хотя мне нужно подтверждение через почту
Вообщем я использую Джанго allauth для регистрации, авторизации и т.д, у меня возникла такая проблема, что во время регистрации пользователя сразу перенаправляет уже подтвержденным в редирект на страницу, а через секунд 5 отправляет на почту email подтверждение, не понимаю как мне пользователя после успешной регистрации перенаправить на страницу где будет текст, что вам отправили смс с подтверждением, а потом пользователь переходит на gmail нажимает на ссылки и заходит успешно подтвержденным на сайт .
settings.py
LOGIN_REDIRECT_URL = 'index'
LOGOUT_REDIRECT_URL = 'index'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = config('ACCOUNT')
EMAIL_HOST_PASSWORD = config('PASSWORD')
EMAIL_PORT = 587
PASSWORD_RESET_TIMEOUT_DAYS = 2
# emaillogin_project/settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
"django.contrib.auth.backends.ModelBackend",
# `allauth` specific authentication methods, such as login by e-mail
"allauth.account.auth_backends.AuthenticationBackend",
)
SITE_ID = 1
ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = False
ACCOUNT_CONFIRM_EMAIL_ON_GET = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_SIGNUP_PASSWORD_ENTER_TWICE = True
ACCOUNT_SESSION_REMEMBER = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = True
ACCOUNT_FORMS = ({'signup': 'apps.users.forms.SignupForm'})
forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from .models import CustomUser
from allauth.account.forms import SignupForm
class SignupForm(SignupForm):
pass
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = CustomUser
fields = ('username', 'email')
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = CustomUser
fields = ('username', 'email')
urls.py
from django.urls import path
from .views import user_page, LoginView, LogoutView, SignupView
urlpatterns = [
path('user/<int:pk>/', user_page, name='user_page'),
path('login/', LoginView.as_view(), name='login'),
path('logout/', LogoutView.as_view(), name='logout'),
path('signup/', SignupView.as_view(), name='signup'),
]
views.py
class LoginView(LoginView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['category_list'] = Category.objects.filter(parent__isnull=True)
context['regions'] = City.objects.all()
return context
class LogoutView(LogoutView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['category_list'] = Category.objects.filter(parent__isnull=True)
context['regions'] = City.objects.all()
return context
class SignupView(SignupView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['category_list'] = Category.objects.filter(parent__isnull=True)
context['regions'] = City.objects.all()
return context
signup.html
<form method="POST" class="login-form">
{% csrf_token %}
<div class="login-container1">
<label for="psw"><b>Email</b></label>
<input class="login-input" id="login-email" type="email" placeholder="Введите имя пользователя" name="email" required>
{% if form.email.errors %}
<p class="help is-danger">{{ form.email.errors }}</p>
{% endif %}
<label for="psw"><b>Пароль</b></label>
<input class="login-input" id="login-password1" type="password" placeholder="Введите пароль" name="password1" required>
<label for="psw"><b>Пароль2</b></label>
<input class="login-input" id="login-password2" type="password" placeholder="Введите пароль" name="password2" required>
{% if form.password1.errors %}
<p class="help is-danger">{{ form.password1.errors }}</p>
{% endif %}
{% if form.password2.errors %}
<p class="help is-danger">{{ form.password1.errors }}</p>
{% endif %}
<button id="login-btn" class="login-button-register" type="submit">Регистрация</button>
<a href="{% url 'account_login' %}">Войти</a>
</div>
<div class="login-container" style="background-color:#f1f1f1">
<a href="{% url 'index' %}" type="button"
class="login-button cancelbtn">Отмена</a>
</div>
</form>