현재 하고 있는 프로젝트의 요구 사항중에 admin에서 몇가지 설정을 통해 이벤트 랜딩페이지를 생성하는 부분이 있었다. 이벤트마다 수집하는 개인정보가 달랐기 때문에 수집 개인정보 항목(이름, 전화번호..등등)을 이벤트와 ManyToMany로 연결시켜서 이벤트마다 수집 개인정보 항목을 다르게 수집할 수 있도록 만들어 주었다. 일단 기한안에 완성해야했기 때문에 view에 모든 부분을 구현하고 배포한뒤 코드를 보니 개인정보를 받는 view나 django template 쪽의 코드가 지나치게 지저분해졌다. 이를 리팩토링하기 위해 form을 사용해서 이벤트마다 동적으로 폼을 생성할 수 있도록 만들어 주기로 했다. 이번 포스트에서는 정적인 form이 아닌 모델 마다 변하는 동적인 폼을 생성하는 방법에 대해 알아보도..