РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
418 of 818 menu

Поле EmailField

Поле EmailField применяется в формах Django для проверки корректности email-адресов. Оно использует встроенный валидатор EmailValidator, который проверяет, что введенное значение соответствует формату email-адреса. Поле может принимать аргументы max_length для ограничения длины, min_length для минимальной длины, а также стандартные аргументы формы, такие как required, label, help_text и другие.

Синтаксис

from django import forms class MyForm(forms.Form): email = forms.EmailField(**options)

Пример

Давайте создадим простую форму для ввода email-адреса:

from django import forms class ContactForm(forms.Form): email = forms.EmailField( label='Email', max_length=100, required=True, help_text='Введите ваш email-адрес' )

Пример

Давайте создадим форму с полем email и обработаем ее в контроллере:

from django import forms class SubscribeForm(forms.Form): email = forms.EmailField( label='Email', max_length=200, required=True ) name = forms.CharField( label='Name', max_length=50, required=True ) # В контроллере def subscribe(request): if request.method == 'POST': form = SubscribeForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] name = form.cleaned_data['name'] # Обработка подписки else: form = SubscribeForm()

Пример

Давайте используем поле EmailField в ModelForm для модели пользователя:

from django.db import models from django import forms class UserProfile(models.Model): username = models.CharField(max_length=30) email = models.EmailField(max_length=100) class UserProfileForm(forms.ModelForm): class Meta: model = UserProfile fields = ['username', 'email']

Результат выполнения кода:

"Форма создана с полями username и email"

Пример

Давайте проверим валидацию поля EmailField при вводе некорректного адреса:

from django import forms class RegisterForm(forms.Form): email = forms.EmailField( label='Email', max_length=100, required=True ) # Создаем форму с некорректным email form = RegisterForm({ 'email': 'invalid-email' }) if form.is_valid(): print("Форма валидна") else: print("Ошибки формы:", form.errors)

Результат выполнения кода:

"Ошибки формы: {'email': ['Enter a valid email address.']}"

Пример

Давайте укажем минимальную длину для поля email:

from django import forms class SignupForm(forms.Form): email = forms.EmailField( label='Email', max_length=200, min_length=10, required=True )

Смотрите также

  • поле CharField,
    которое используется для текстовых полей
  • поле URLField,
    которое валидирует URL-адреса
  • валидатор EmailValidator,
    который проверяет корректность email-адресов
  • метод is_valid,
    который запускает валидацию формы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить