인프런 커뮤니티 질문&답변

퀀텀코더님의 프로필 이미지
퀀텀코더

작성한 질문수

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

Articleapp 구현

form에 대해 질문 있습니다.

작성

·

171

0

개념이 확실히 서지 않아 확인차 질문드리는 점 양해부탁드리겠습니다.....

1. forms.py에서 클래스를 만드는 이유는 ModelForm을

활용해서 form을 더 편하게 사용하기 위해서 맞나요..?

2. form는 정보 요청 명세서라고 생각을 하면 되나요?

찾아보니, 게시판에 글을 남길때, 회원가입할때 등등 다양하게 사용된다고 하더라구요. 그럼 결국 articleapp에서도 

form 커스터마이징 해서 사용하는 이유는 html에서

정보를 건네주기 위함이 맞을까요...? 

개념이 확실치가 않네요...

매번 답변 진심으로 감사드립니다. 

답변 1

0

Hyong Sok Park님의 프로필 이미지
Hyong Sok Park
지식공유자

안녕하세요.
질문 확인했습니다.

1. 맞습니다.
해당 ModelForm 없이 form 을 생성하기 위해서는,
저희가 강좌에서 작성했던 models.py 내용과 같이,
model 의 어떤 컬럼에 어떤 속성의 값을 넣을 것인지 일일히 지정해주어야 합니다.

그런 작업들을 대신 해주는 것이 ModelForm 이라고 이해를 해주시면 좋을것 같아요.


2. form은 정보 요청 명세서 정도로 생각하셔도 됩니다.
결국 form 에서 지정된 명세서가 저희가 만든 template 으로 넘어가서,
해당 template 을 보고 있는 유저가 해당 폼을 작성 한 이후,
서버로 해당 정보를 넘기기 때문에 그렇게 생각하시면 좋습니다.


다시 또 장고 공식문서를 남겨보자면,
https://docs.djangoproject.com/en/3.2/topics/forms/modelforms/#modelform

If you’re building a database-driven app, chances are you’ll have forms that map closely to Django models. For instance, you might have a BlogComment model, and you want to create a form that lets people submit comments. In this case, it would be redundant to define the field types in your form, because you’ve already defined the fields in your model.

결국 공식문서에서도 같은 말이지만,
models 에서 어떤 값을 저장할 것인지 지정했는데,
form 을 작성하면서 그러한 작업을 불필요하게 반복할 필요가 없기 때문에 model form 을 사용한다고 나오죠.


아무튼 답변이 도움이 되셨으면 좋겠습니다.

좋은하루 보내시구요!
감사합니다-

퀀텀코더님의 프로필 이미지
퀀텀코더

작성한 질문수

질문하기