我在使用django-crispy-forms时遇到了一个问题,我无法得到答案。 我有一个相当复杂的表单布局,到目前为止,一切都非常好用cripy-forms。
表单的一部分使用通用内联formset。这也有效,但我的问题是,我无法弄清楚如何访问删除复选框(当 can_delete = True 时)
相应的代码如下所示:
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)
name和url字段根据需要使用crispy-forms呈现,但delete-checkbox显示在表单的末尾。我无法在布局中访问它。
有人知道如何解决这个问题吗?有小费吗?提前谢谢!
答案 0 :(得分:8)
愚蠢的我 - 想出来..删除字段被引用为“DELETE”。 (注意大写字母......)
base_layout = Row(
Column(
Field('name', css_class='input-small'),
css_class='span3'
),
Column(
Field('url', css_class='input-xlarge'),
Field('DELETE', css_class='input-small'),
css_class='span4'
),
css_class='row relation-row',
)