Я бы хотел, чтобы пользователь мог изменить свой адрес электронной почты. Пользователь будет менять свой адрес электронной почты, после чего на этот адрес будет отправлено электронное письмо со ссылкой для подтверждения, после того как пользователь щелкнет ссылку, он изменит свой адрес электронной почты в базе данных.
Я знаю, что django-generic-подтверждение имеет такие подтверждения, но я хотел бы попробовать это сделать самостоятельно.
Чтобы изменить адрес электронной почты, мой код будет:
User.objects.get(username=username).update(email=request.POST['email'])
И чтобы отправить электронное письмо на этот адрес, мне понадобилось бы:
if 'Change Email' in request.POST.values():
from django.core.mail import send_mail
send_mail(
'Confirm email change',
'Click this **link** to confirm your change of email',
'from@example.com',
[request.POST['email']]
)
Как мне отложить смену электронной почты в БД до тех пор, пока пользователь не подтвердит свою электронную почту? И как мне создать ссылку, которая активирует электронную почту для этого процесса? Спасибо.