17

validationDjango ビューに投稿する HTML フォームがありますが、いくつかの制約があるため、通常の Django フォーム クラスを使用しない方が簡単です。

Django フォームを使用する唯一の理由は、入力された電子メール フィールドです。

何かが であるかどうかを確認する機能はありますか、emailまたは を使用しEmailFieldて確認して検証する必要がありますか?

4

2 に答える 2

33

以下を使用できます

from django.core.validators import validate_email
from django import forms

...
if request.method == "POST":
    try:
        validate_email(request.POST.get("email", ""))
    except forms.ValidationError:
        ...

あなた<input type="text" name="email" />のフォームに

于 2012-12-21T20:28:22.500 に答える
5

django.core.validators の validate_email() メソッドを使用できます。

>>> from django.core import validators
>>> validators.validate_email('test@example.com')
>>> validators.validate_email('test@examplecom')
Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "/Users/jasper/Sites/iaid/env/lib/python2.7/site-    packages/django/core/validators.py", line 155, in __call__
    super(EmailValidator, self).__call__(u'@'.join(parts))
  File "/Users/jasper/Sites/iaid/env/lib/python2.7/site-packages/django/core/validators.py", line 44, in __call__
    raise ValidationError(self.message, code=self.code)
ValidationError: [u'Enter a valid e-mail address.']
于 2012-12-21T20:29:06.683 に答える