В моем веб-приложении я использую django-allauth для управления учетными записями.Django allauth остановка подтверждения по электронной почте
Если пользователь зарегистрировался в моем приложении, он получит электронное письмо с «ссылкой на подтверждение». (Без подтверждения электронной почты они могут войти, но не получают полных прав).
Теперь я хочу отложить отправку письма с подтверждением как среднее, в то время как они могут выполнять некоторые действия, которые приводят к обновлению в таблице. Если пользователь выполняет эти действия (если таблица обновляется), то мне нужно отправить только это письмо с подтверждением. Я думаю использовать сигналы здесь.
from django.db import models
from django.contrib.auth.models import User
from allauth.account.signals import user_signed_up
from allauth.account.utils import send_email_confirmation
from django.dispatch import receiver
import datetime
#this signal will be called when user signs up.
@receiver(user_signed_up, dispatch_uid="some.unique.string.id.for.allauth.user_signed_up")
def user_signed_up_(request, user, **kwargs):
send_email_confirmation(request, user, signup=True)
#this allauth util method, which sends confirmation email to user.
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
are_u_intrested = models.BooleanField(default=False)
models.signals.post_save.connect(user_signed_up_, sender=UserProfile, dispatch_uid="update_stock_count")
#If user fills this userProfile , then I only send confirmation mail.
#If UserProfile model instace saved , then it send post_save signal.
Я знаю эту настройку, но, я хочу отправить письмо после некоторого времени. – RMK
@ user3237836 О, извинения, я не правильно прочитал вопрос. – elssar
:-) Хорошо, но мне не нужны извинения, Помогите мне .. ;-) – RMK