1

このDjangoモデルを持つ:

class Subscriber(models.Model):
    email = models.EmailField(unique=True, blank=False)

空のメールでサブスクライバーを作成するときに、例外に直面することはありません。

>>> Subscriber.objects.create(email='')
<Subscriber: Subscriber object>

興味深いのは、IntegrityError が 2 回発生することです。

>>> Subscriber.objects.create(email='')
...
IntegrityError: column email is not unique

したがって、整合性は検証されているようですが、電子メール形式や空白のエントリは検証されていません。電子メールを検証するにはどうすればよいですか?

4

2 に答える 2

-1

このような組み込みの電子メールバリデーターで電子メールフィールドを検証する必要があります

from django.core.validators import validate_email

この方法で電子メールフィールドを宣言します

email = models.EmailField(unique=True, validators=[validate_email,])

このようにして、組み込みの正規表現を使用して電子メール フィールドを検証します。

于 2014-11-16T13:14:30.497 に答える