0Pricing
Django Academy · Урок

Определение forms.Form

Объявляйте поля и их виджеты

«Определение forms.Form» — бесплатный урок Django Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Why Forms Exist

A Django form turns messy user input into clean Python data, handling rendering and validation in one tidy place. 📝

Subclass forms.Form

You declare a form by subclassing forms.Form. Each class attribute you add becomes a field on that form.

from django import forms

class ContactForm(forms.Form):
    name = forms.CharField()

Fields Are Class Attributes

Every field is a class attribute set to a field instance, like CharField or EmailField. The attribute name becomes the input name.

name = forms.CharField()
email = forms.EmailField()

CharField for Text

Use CharField for short text. Set max_length to cap the size and render a sensible HTML input automatically.

subject = forms.CharField(max_length=120)

EmailField Validates Format

An EmailField checks that the value looks like a real email address, so you do not write that validation yourself.

email = forms.EmailField()

Required by Default

Every field is required unless you say otherwise. Pass required=False to make a field optional for the user.

phone = forms.CharField(required=False)

label and help_text

Add a friendly label and help_text so users understand each field. Django shows them next to the input.

name = forms.CharField(label="Your name",
    help_text="First and last")

Choosing a Widget

A widget controls the HTML rendered for a field. Swap the default to get a textarea, password box, or select.

message = forms.CharField(
    widget=forms.Textarea)

More Field Types

Django ships many fields: IntegerField, BooleanField, DateField, and ChoiceField each map to the right input and parse the value for you.

age = forms.IntegerField()
agree = forms.BooleanField()

ChoiceField and Options

A ChoiceField renders a dropdown from a list of value and label pairs you provide in choices.

plan = forms.ChoiceField(choices=[
    ("free", "Free"), ("pro", "Pro")])

Instantiate the Form

Create an unbound form with no data to display a blank form, or pass data to bind it for validation.

form = ContactForm()  # blank
form = ContactForm(request.POST)

Quick Check

Let us see how forms are defined.

Recap

You subclass forms.Form and add fields as class attributes. Pick the right field type and widget, and Django handles the rest. ✅

Часто задаваемые вопросы

Урок «Определение forms.Form» бесплатный?

Да — полный текст урока «Определение forms.Form» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Определение forms.Form»?

Объявляйте поля и их виджеты Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Определение forms.Form»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Определение forms.Form
  2. is_valid и cleaned_data
  3. Отображение форм в шаблонах
  4. Защита CSRF и поток POST
← Назад к Django Academy