Смена адреса электронной почты пользователя

Я хотел бы разрешить пользователю изменить свой адрес электронной почты. Пользователь изменит свой адрес электронной почты, затем на этот адрес будет отправлено электронное письмо с подтверждением со ссылкой, после того как пользователь щелкнет ссылку, он изменит свой адрес электронной почты в базе данных.

Я знаю, что django-generic-confirm имеют дело с подобными подтверждениями, но я хотел бы попробовать сделать это самостоятельно.

Чтобы изменить адрес электронной почты, мой код будет:

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']]
     )

Как мне отложить изменение адреса электронной почты в базе данных до тех пор, пока пользователь не подтвердит свой адрес электронной почты? И как мне создать ссылку, которая активирует электронную почту для этого процесса? Спасибо.

5
задан David542 7 June 2011 в 00:26
поделиться