장고Form vs HTML Form (2021.08.13)
프로젝트 마무리 단계에서 내가 맡은 부분을 복습하다가 깨달은 아주 큰 실수 아닌 실수가 있다.
이번 프로젝트에서는 웹 프레임워크로 장고(Django)를 사용했는데 회원가입 부분에서 장고에서 제공해주는 UserCreationForm을 커스터마이징하여 UserForm을 작성했다. 그리고 사용자에게 데이터를 입력 받는 Form을 HTML에서 작성을 했다.
여태까지 장고(Django)에서 작성한 폼은 Model로 만든 데이터베이스를 채울 때에만 쓰는 줄 알고 HTML에 데이터를 입력받는 Form을 작성했다.
복습하면서 알게된 바로는 Form을 HTML에서 새로 작성할 필요가 없었다. 장고에서 이미 Form을 제공을 해주기 때문에 {{ form.as_table }}만으로도 데이터를 입력받는 Form이 완성되는 것이였다.
<form action="url mapping" method="post">
{% csrf_token %}
{{ form.as_table }}
<input type="submit" value="Submit">
</form>
해당 명령문을 실행하면 아래처럼 구현이 된다.
또한 장고의 Form을 이용시 장고에서 제공하는 valid 기능을 전부 사용이 가능하기 때문에 더 편했을 것이다.
- 복습 전
- HTML Form에서 데이터 받고 Django Form에서는 valid 체크만 했다. 물론 Customize가 용이한 입장에서는 나쁘지 않을 것도 같았지만...
- 복습 후
- HTML Form에서 데이터 받고 request.POST로 데이터 받은 것을 바로 model의 테이블에 저장가능 → 다만 validation 에러를 만들지 않기 위해서는 validation 체크가 필요!(필수)
- Django Form 작성 후, HTML에서 form을 제공 받고 그 form을 이용하여 데이터 받은 후, Django의 valication check 기능을 사용한 후 validate하면 model의 테이블에 저장!
- Django도 매우 편리하지만, HTML은 css로 꾸미기가 용이하기 때문에 각각의 장단점이 있다.
Author And Source
이 문제에 관하여(장고Form vs HTML Form (2021.08.13)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kcho32/장고Form-vs-HTML-Form-2021.08.13저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)