개요
- 사용자로부터 정보 수집, 서버에 제출하기 위해 사용됨
- 텍스트박스, 체크박스 등 다양한 위젯 제공
- 교차 사이트 요청 위조 방지(CSRF protection) 지원
처리 과정

- forms.Form 클래스 상속
- 속성 정의
- 모델과 유사
- BooleanField, CharField 등
- 함수 정의
- 유효성 체크
- clean_<필드명>() 재정의
- self.cleaned_data를 받아 검사 후 다시 return
- 틀릴 경우 ValidationError 발생시키기
사용하기
- 첫 요청일 경우
- 아닐 경우
- 데이터 삽입
book_renewal_form = RenewBookForm(request.POST)
- 유효성 검사
- (폼 인스턴스).is_valid()
- 유효할 경우 form.cleaned_data['key']를 받아 요청 처리
템플릿 작성
<form action="" method="post">
{% csrf_token %}
{{ form.as_table }}
<input type="submit" value="Submit">
</form>