내장 유효성 검사
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을 반환합니다. 템플릿의 반복문은 변경 없이 새 필드를 표시합니다.
챌린지
쉬움이벤트에 설명과 정원 수를 추가합니다.
events/forms.py에서EventForm에description을 추가합니다. 큰 입력란에 입력하며 비워 둘 수 있습니다.capacity도 추가합니다. 1 이상의 정수여야 합니다.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)
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
폼의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드