我的网站上有一项功能,用户可以与该网站上注册的其他用户共享内容。他们通过输入属于另一个用户的电子邮件来完成此操作。然后发布,将所需用户设置为模型中内容的共享所有者。
检查电子邮件地址属于网站注册用户的最佳方法是什么?
谢谢!
答案 0 :(得分:0)
我认为有效的方法是使用给定的邮件搜索用户。 Django用户已经有一个独特的邮件字段。
如果你想从基础写作:
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