2012-11-04 3 views
1

하나의 페이지에서 여러 폼의 데이터를 수집하기 위해 formset을 사용하고 있지만 뭔가 깨닫게 된 것은 formset에 대한 .as_table 디스플레이가 내가 시도하는 것에 대해 다소 차선책입니다. 각 폼 요소를 새 테이블 행으로 인쇄하는 대신 각 폼 자체를 개별 행으로 인쇄하고 필드 이름이있는 테이블 머리글을 갖는 것으로 생각했습니다. 이후 formset이 각 폼 인스턴스에 대해 동일한 필드를 갖게 될 것이기 때문입니다. 이 방법으로 당신은 데이터를 사용할 수있는 그리드를 얻을 수 있습니다. 나는 폼이 프린트 된 템플릿을 통해 수동으로했는데 formset.as_table을 오버라이드하여 프린트 할 수있는 방법이 있는지 궁금합니다. 현재 진행되고있는 방식이 아닌 이것이 가능합니까, 이미 어딘가에서 이루어 졌습니까? 아니면 제가 그것에 대해 어떻게 제안 하시겠습니까?Django Formset Grid로 표시 할 테이블로

답변

1

as_table 메서드를 재정 의하여 원하는 양식을 출력 할 수있는 자신 만의 Formset (그리고 아마도 Form) 하위 클래스를 만들 수 있습니다.

내 제안은 django-crispy-forms과 좋은 CSS 정의를 사용하는 것을 고려하는 것입니다.

+0

감사합니다. 저는 지금 바삭한 양식을 찾고 있습니다. as_table을 무시할 위치에 대한 제안 사항이 있습니까? 장고 API를 찾고 있어요 및 심지어 formsets 및 다른 django 문서에 대한 아무것도 그들을 하위 클래스에 대한 정보를 많이 제공하지 찾을 수 없습니다. – hkothari

+0

제 대답은 장고의'Formset.as_table' 소스 코드와 관련이 있습니다. 문서가 부족한 경우 코드보다 더 나은 대안은 없습니다 .-) '['as_table'] (https://github.com/django/django/blob/1.4.2) 양식도 체크 아웃해야합니다. /django/forms/forms.py#L213) 구현뿐만 아니라 더 명확합니다. –