Tengo una función en mi sitio web donde un usuario puede compartir contenido con otro usuario registrado en el sitio. Lo hacen ingresando un correo electrónico que pertenece a otro usuario. Luego se publica, configurando al usuario deseado como propietario compartido del contenido en el modelo.
¿Cuál es la mejor manera de comprobar que la dirección de correo electrónico pertenece a un usuario registrado del sitio?
¡Gracias!
Creo que la forma eficiente es buscar al usuario con el correo dado. El usuario de Django ya tiene un campo de correo que es único.
si quieres escribir desde básico:
from django.core.validators import validate_email class SampleForm(forms.Form): mail = forms.CharField(max_length=50) def clean(self): cleaned_data = super(SampleForm, self).clean() mail = cleaned_data.get('mail') # validate the structure of the mail address try: validate_email(mail) except validate_email.ValidationError: raise forms.ValidationError('email is not valid') # now find if mail has registered try: User.objects.get(email=mail) except User.DoesNotExist: raise forms.ValidationError('This mail address is not registered') return cleaned_data