Django Form Class
Forms in Django
우리는 HTML 폼에 대해서 간단히 설명 했습니다. 하지만, <form>
HTML 태그는 단지 필요한 도구일뿐입니다.
웹 어플리케이션의 맥락에서,
form 은 HTML
<form>
테그를 가르키거나,혹은, 그것을 생성하는 Django Form,
또는, 제출되었을때 반환되는 구조화된 데이터
또는, 이 모든 부분들의 end-to-end 동작의 집합들이라고 말할수 있습니다.
Django Form Class
이 컴포넌트들의 시스템의 심장은 Django 의 Form Class 입니다.
매우 같은 방식으로, Django 모델이 객체의 구조, 동작 그리고 어떻게 표시가 되어야 하는지에 대해서 논리적인 묘사를 하듯이,
Form 클래스는 Form 을 묘사하고,
어떻게 작동하고 나타나야 하는지에 대해 결정합니다.
모델 클래스의 필드들이 데이터베이스 필드들을 가르키고 매핑되는것과 비슷하게도,
폼 클래스의 필드들은 HTML form <input>
요소와 매핑 됩니다 (ModelForm 은 모델 클래스의 필드들을 HTML form <input>
요소를 Form 을 통해서 매핑 합니다.)
폼의 필드들은 그들 스스로 클래스들입니다.
폼이 제출될때, 데이터를 관리하고 유효성 검사를 수행합니다.
DateField 와 FileField 는 매우 다른 종류의 데이터와 그 데이터 들과 같이 해야만 하는 다른 일들을 다룹니다.
폼 필드는 브라우저에서 사용자에게 HTML widget 으로 표시됩니다.
각 필드 타입들은 적절한 기본 widget class 들을 가지고 있지만, 필요할때에는 override 되서 사용될수 있습니다.