默认正则表达式django用于验证电子邮件

默认正则表达式django用于验证电子邮件,django,django-forms,django-email,Django,Django Forms,Django Email,最近,我开始使用Django并创建了一个用于用户注册的自定义表单。在该表单中,为了创建电子邮件字段,我使用 email=forms.EmailField() 我注意到地址如下a@a.a被表单视为无效。当然,这是一个毫无意义的电子邮件地址。尽管如此,我想知道Django如何检查有效性 我在网上发现了一些讨论如何检查电子邮件地址有效性的话题,但它们都提供了一些自定义方法。找不到有关django默认验证程序的内容 在他们的电子邮件文件中,他们指定 使用EmailValidator使用中等复杂的正则表达

最近,我开始使用Django并创建了一个用于用户注册的自定义表单。在该表单中,为了创建电子邮件字段,我使用

email=forms.EmailField()

我注意到地址如下a@a.a被表单视为无效。当然,这是一个毫无意义的电子邮件地址。尽管如此,我想知道Django如何检查有效性

我在网上发现了一些讨论如何检查电子邮件地址有效性的话题,但它们都提供了一些自定义方法。找不到有关django默认验证程序的内容

在他们的电子邮件文件中,他们指定

使用EmailValidator使用中等复杂的正则表达式验证给定值是否为有效的电子邮件地址

但是这不是很具体,所以我决定在这里询问。

我们应该在这里检查文档

如果您想检查验证,请使用如下清洁功能:

from django.forms.fields import EmailField

email = EmailField()

my_email = "a@a.a"


print(email.clean(my_email))

如果您的电子邮件有效,那么此func返回值else返回验证错误

对于对此感兴趣的任何人,我建议按照iklinac在评论中的建议查找实现(django.core.validators)


其中不仅有源代码,还提到了用于派生正则表达式的标准,这些正则表达式检查域和文本是否具有有效格式。

您检查了源代码吗?哦,这很简单。完成,谢谢:D