Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Python电子邮件验证多个用户之间没有共享电子邮件_Python_Django_Validation - Fatal编程技术网

Django Python电子邮件验证多个用户之间没有共享电子邮件

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'

我需要知道我需要在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'])<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)