장고 바삭한 형태에 언급되지 않은 필드를 포함 사업부와의 formset에서 각 양식 :랩 장고 바삭 형태의 사업부에서 함께 해당 formset에서 양식의 모든 양식 필드를 감싸는 나는 다음과 같은 코드를 사용하고
class OperatorForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(OperatorForm, self).__init__(*args, **kwargs):
self.helper = FormHelper(self)
self.helper.form_tag = False
self.helper.all().wrap_together(Div, css_class="operator-form")
self.helper.render_unmentioned_fields = True
class Meta:
model = Operator
fields = tuple(fields_list)
'self'로 FormHelper를 인스턴스화하면 모든 필드를 지정하지 않고도 레이아웃을 자동 생성합니다. 내 필드가 동적으로 생성되기 때문에이 필요합니다. 문제는 DELETE 및 ORDER 필드가 레이아웃에 추가되지 않는다는 것입니다. 그래서 render_unmentioned_fields를 True로 설정했습니다. 이 설정을 사용하면이 두 필드는 최소한 폼에 표시되지만 div의 나머지 필드로 래핑되지는 않습니다.
나는 수동으로 formset의 양식을 반복하고 div로 감싸는 것을 알고있다. 이것은 지금까지 해왔 던 것이지만, formset의 비 형식 오류를 수동으로 처리해야한다. 일반적으로 싱싱하여 자동으로 수행됩니다.
수정 : 요청 된대로 코드가 업데이트되었습니다. 이 전체 클래스는 fields_list를 채우는 팩토리 메소드에 실제로 래핑되므로 특정 필드 만 동적으로 포함 할 수 있습니다. ORDER 및 DELETE는 목적에 따라 제외됩니다. 그것들은 자동적으로 (에러를 포함한 결과를 포함해서) 탐지되어 형태로 표시되며, 단지 div에 싸여 있지 않습니다.
모든 코드를 양식 정의에 게시하십시오. –
DELETE 및 ORDER 필드를 의도적으로 생략하고 있습니까? –
요청에 따라 업데이트 됨. @BrianDant –