Saltar al contenido

verificar el correo electrónico después del registro ejemplo de código django

Ejemplo 1: confirmación por correo electrónico de django

from django.http import HttpResponsefrom django.shortcuts import render, redirectfrom django.contrib.auth import login, authenticatefrom .forms import SignupFormfrom django.contrib.sites.shortcuts import get_current_sitefrom django.utils.encoding import force_bytes, force_textfrom django.utils.http import urlsafe_base64_encode, urlsafe_base64_decodefrom django.template.loader import render_to_stringfrom .tokens import account_activation_tokenfrom django.contrib.auth.models import Userfrom django.core.mail import EmailMessagedef signup(request):    if request.method == 'POST':        form = SignupForm(request.POST)        if form.is_valid():            user = form.save(commit=False)            user.is_active = False            user.save()            current_site = get_current_site(request)            mail_subject = 'Activate your blog account.'            message = render_to_string('acc_active_email.html', {                'user': user,                'domain': current_site.domain,                'uid':urlsafe_base64_encode(force_bytes(user.pk)),                'token':account_activation_token.make_token(user),            })            to_email = form.cleaned_data.get('email')            email = EmailMessage(                        mail_subject, message, to=[to_email]            )            email.send()            return HttpResponse('Please confirm your email address to complete the registration')    else:        form = SignupForm()    return render(request, 'signup.html', {'form': form})

Ejemplo 2: registro de usuario con campos de correo electrónico, móvil, nombre, contraseña utilizando la confirmación de correo electrónico django

from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.contrib.auth import login, authenticate
from .forms import SignupForm
from django.contrib.sites.shortcuts import get_current_site
from django.utils.encoding import force_bytes, force_text
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.template.loader import render_to_string
from .tokens import account_activation_token
from django.contrib.auth.models import User
from django.core.mail import EmailMessage
def signup(request):    
  if request.method == 'POST':        
    form = SignupForm(request.POST)        
    if form.is_valid():            
      user = form.save(commit=False)            
      user.is_active = False            
      user.save()            
      current_site = get_current_site(request)            
      mail_subject = 'Activate your blog account.'            
      message = render_to_string('acc_active_email.html', {                
        'user': user,                
        'domain': current_site.domain,                
        'uid':urlsafe_base64_encode(force_bytes(user.pk)),                
        'token':account_activation_token.make_token(user),            
      })            
      to_email = form.cleaned_data.get('email')            
      email = EmailMessage(mail_subject, message, to=[to_email])            
      email.send()            
      return HttpResponse('Please confirm your email address to complete the registration')    
    else:        
      form = SignupForm()    
      return render(request, 'signup.html', {'form': form})
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *