당신은 멋쟁이, 우리는 장고쟁이~

0%

Django Forms 11편 - Django Form 클래스에 대해 1

Django Form Classes


More about Django Form Classes


모든 폼 클래스들은

django.forms.Form 혹은 django.forms.ModelForm 클래스 둘중 하나의

서브 클래스들로 생성 됩니다.


ModelForm 은 Form.Form 그리고 ModelForm 의 서브클래스로. 사실상 공통 기능들을 BaseForm 클래스로부터 상속 받는다고 생각하면 됩니다.



Models and Forms

여러분드르이 폼이 직접적으로 Django 모델을 추가하거나 수정하는데에 쓰인다면,

ModelForm 이 시간과 노력 그리고 코드의 양을 줄이는데에 크게 기여할수 있습니다.

왜냐하면, ModelForm 은 Model 클래스로부터 적절한 필드들과 속성들을 가지고 폼을 생성해 주기 때문입니다.



Bound and Unbound Form instances


Bound 된 폼과, unbound 된 폼 사이의 차이점을 알아둡시다


Unbound Form

폼과 관련된 데이터를 가지고 있지 않은 폼을 의미 합니다.

사용자에게 폼이 렌더 되었을때, 해당 폼은 비어 있거나, 기본값들을 가지고 있을것입니다.


Bound Form

제출된 데이터를 가지고 있습니다.

따라서, 데이터가 유효한지 얘기하기 위해서 사용될수 있습니다.

만약, 유효하지 않은 bound form 이 렌더 된다면, 해당 폼은 인라인으로 에러 메시지들을 포함하여 사용자에게 어떤 데이터를 고쳐야 하는지 얘기해줄수 있습니다.



is_bound 속성


form 의 is_bound 속성은 해당 폼이 데이터를 가지고 있는지 없는지 확인해 줄수 있습니다.