7
django-crispy-forms로 작업하는 동안 질문에 대한 답을 얻지 못했습니다. 저는 다소 복잡한 폼 레이아웃을 가지고 있습니다. 모든 것이 지금까지는 정교하지 못한 형태로 극도로 멋지게 작동합니다.Django crispy-forms, BaseGenericInlineFormSet & allow_delete
양식의 일부는 일반 인라인 formset을 사용합니다. 이는 잘 작동하지만, 내 문제는 내가 삭제 - 체크 박스에 액세스하는 방법을 알아낼 수있다 (= can_delete을 가진 때 진정한)
대응하는 코드는 보이는 뭔가 같은 :
class BaseReleaseReleationFormSet(BaseGenericInlineFormSet):
def __init__(self, *args, **kwargs):
self.instance = kwargs['instance']
super(BaseReleaseReleationFormSet, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_id = "id_relation_form"
self.helper.form_class = 'form-horizontal'
self.helper.form_method = 'post'
self.helper.form_action = ''
self.helper.form_tag = False
base_layout = Row(
Column(
Field('name', css_class='input-small'),
#Field('delete', css_class='input-small'),
css_class='span3'
),
Column(
Field('url', css_class='input-xlarge'),
css_class='span4'
),
css_class='row relation-row',
)
self.helper.add_layout(base_layout)
이름과 URL 필드는 원하는대로 바삭한 양식으로 렌더링되지만 삭제 체크 박스는 양식의 끝에 나타납니다. 레이아웃에서 액세스 할 수 없습니다.
누군가이 문제를 해결하는 방법을 알고 있습니까? 어떤 팁? 미리 감사드립니다!
레코드의 경우 : 항상 'self.helper.render_unmentioned_fields = True'를 수행 한 다음 모든 "숨김"필드도 렌더링 할 수 있습니다. 그런 다음 이름이 무엇인지 확인하고 레이아웃에 명시 적으로 포함시킬 수 있습니다. –