내장 유효성 검사
Coddy Django 여정의 폼 섹션에 포함된 레슨. 20개 중 9번째.
이벤트에는 설명과 장소 수가 필요합니다. 각 양식 필드는 고유한 종류의 값을 확인하고, 인수는 규칙을 추가합니다. 두 가지를 이미 배웠습니다. 모든 필드는 필수이며, max_length=100은 제목이 더 길면 거부합니다.
forms.IntegerField(min_value=1, max_value=5): 한도 사이의 정수입니다.forms.EmailField(): 이메일 주소가 아닌 텍스트는 거부합니다.- 어떤 필드에든
required=False를 지정하면 비워 둘 수 있습니다.
위젯은 필드를 어떻게 표시할지 결정합니다. widget=forms.Textarea는 큰 텍스트 입력란을 만듭니다. 다음은 제품 리뷰 양식입니다.
class ReviewForm(forms.Form):
stars = forms.IntegerField(min_value=1, max_value=5)
comment = forms.CharField(widget=forms.Textarea, max_length=500)
nickname = forms.CharField(required=False)비어 있는 선택적 텍스트 필드는 cleaned_data에 ""를 제공합니다. 비어 있는 선택적 숫자 필드는 None을 제공합니다. 템플릿의 반복문은 변경 없이 새 필드를 표시합니다.
챌린지
쉬움EventForm에 필드 두 개를 추가하세요:
description: 큰 입력 상자에 입력하는 텍스트이며, 비워 둘 수 있습니다.capacity: 1 이상의 정수입니다.
new_event에서 두 필드 모두 이벤트에 저장하세요. Run을 누르고 /events/new/를 여세요.
직접 해보기
from django import forms
class EventForm(forms.Form):
title = forms.CharField(max_length=100)
date = forms.DateField()
place = forms.CharField(max_length=100)
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
폼의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드