• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

forms.CharField의 위젯과 Textarea차이

20.09.02 09:22 작성 조회수 126

1

forms.CharField(widget=forms.Textarea)와

forms.Textarea의 차이는 무엇인가요?

답변 1

답변을 작성해보세요.

2

CharField의 경우 폼에 들어갈 필드의 데이터 형을 정의할 때 사용하는 클래스입니다. 마치 폼의 자료형 같은 거라고 보시면 되는데, 쟝고에서는 폼을 바로 html로 렌더링하는 기능을 내장하고 있기 때문에 렌더링할 때 어떤 형태로 입력 칸을 그려줄지를 정하는 것이 Widget인데요. Form field 와 다르게 이 위젯은 화면 그리기에 관여하는 클래스들이며 그런 위젯 중 하나가 Textarea 입니다. 따라서 forms.CharField와 forms.Textarea는 개념 자체가 다릅니다.

CharField로 문자열 데이터 형을 정의하고 이걸 입력 받을 때 어떤 html 형태로 받을지를 정의하는게 Textarea가 되는 것인데 위 코드처럼 Textarea로 정의하지 않으면 기본적으로 charfield는 Textinput이라는 <input type=text> 형태의 위젯이 표시됩니다.