Django Python电子邮件验证多个用户之间没有共享电子邮件
我需要知道我需要在models.py(validations)中输入什么代码,这样当用户注册一个新帐户时,如果他们在数据库中已经存在的email字段中输入一个值,他们就会得到一个错误 类UserManager(models.Manager): def用户注册验证程序(自身、post数据): 错误={} EMAIL_REGEX=re.compile(r'^[a-zA-Z0-9.+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]+$)Django Python电子邮件验证多个用户之间没有共享电子邮件,python,django,validation,Python,Django,Validation,我需要知道我需要在models.py(validations)中输入什么代码,这样当用户注册一个新帐户时,如果他们在数据库中已经存在的email字段中输入一个值,他们就会得到一个错误 类UserManager(models.Manager): def用户注册验证程序(自身、post数据): 错误={} EMAIL_REGEX=re.compile(r'^[a-zA-Z0-9.+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]+$) if len(post_data['first_name'
if len(post_data['first_name'])<3:
错误['first_name']=“first name必须是3个字符”
如果post_数据['first_name'].isalpha()==False:
错误['first_name']=“仅限字母”
如果len(post_data['last_name'])小于3:
错误['last_name']=“姓氏必须为3个字符”
如果post_数据['last_name'].isalpha()==False:
错误['last_name']=“仅限字母”
如果len(post_data['email'])<8:
错误['email']=“电子邮件必须包含8个字符”
#如果post_data['email'].Books.objects.filter(title=post_data)==True:
#错误['email']=“此电子邮件已存在于数据库中”
如果发布数据['email'].find(“@”)=-1:
错误['email']=“电子邮件必须包含@and.com”
如果post_数据['email'].find(“.com”)=-1:
错误['email']=“电子邮件必须包含@and.com”
#测试字段是否与模式匹配
如果不发送电子邮件,则发送匹配(post_数据['EMAIL']):
错误['email']=“无效的电子邮件地址!”
如果发布数据['password']!=post_数据[‘确认_密码’]:
错误['pass_match']=“密码必须与确认密码匹配”
如果len(post_数据['password'])小于8:
错误['pass_length']=“密码必须超过8个字符”
返回错误
在模型中添加如下字段:
user_email = models.EmailField(unique=True)
到目前为止你试过什么?你的代码是什么样子的?如果post#u data['email'].Books.objects.filter(title=post#u data)==True:#errors['email']=“此电子邮件已存在于数据库中”这是我感到厌倦的事情,它不起作用。请编辑你的问题并在那里添加代码。可能值得添加所有相关代码,即模型、视图甚至模板的相关部分。将
unique
设置为True。看,我继续并张贴了我的代码,如果这对你有效,请接受答案。
user_email = models.EmailField(unique=True)