Menu
CoddyTech

내장 유효성 검사

Coddy Django 여정의 폼 섹션에 포함된 레슨. 20개 중 9번째.

이벤트에는 설명과 자리 수가 필요합니다. 각 폼 필드는 자체 값 유형을 검사하고, 인수는 규칙을 추가합니다. 두 가지를 배웠습니다. 모든 필드는 필수이며, max_length=100은 제목이 더 길면 거부합니다.

  • IntegerField의 min_value: 더 작은 숫자를 거부합니다.
  • 모든 필드의 required=False: 비워 둘 수 있습니다.

위젯은 필드가 어떻게 표시되는지 결정합니다. widget=forms.Textarea는 큰 텍스트 상자를 만듭니다. 보드게임 예약 폼의 예입니다.

class TableForm(forms.Form):
    players = forms.IntegerField(min_value=2)
    wishes = forms.CharField(widget=forms.Textarea, max_length=500)
    phone = forms.CharField(required=False)

비어 있는 선택적 텍스트 필드는 cleaned_data에 ""을 반환하고, 비어 있는 선택적 숫자 필드는 None을 반환합니다. 템플릿의 반복문은 변경 없이 새 필드를 표시합니다.

challenge icon

챌린지

쉬움

이벤트에 설명과 정원 수를 추가합니다.

  1. events/forms.py에서 EventForm에 description을 추가합니다. 큰 입력란에 입력하며 비워 둘 수 있습니다. capacity도 추가합니다. 1 이상의 정수여야 합니다.
  2. new_event에서 두 값 모두 이벤트에 저장합니다.

정원이 25명이고 설명이 없는 이벤트를 추가하면 해당 페이지에 정원 25명이라고 표시됩니다.

직접 해보기

from django import forms


class EventForm(forms.Form):
    title = forms.CharField(max_length=100)
    date = forms.DateField()
    place = forms.CharField(max_length=100)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

폼의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드