7

我在使用 django-crispy-forms 时遇到了一个问题,我无法得到答案。我有一个相当复杂的表单布局,到目前为止,一切都非常好用 cripy-forms。

表单的一部分使用通用的内联表单集。这也有效,但我的问题是,我无法弄清楚如何访问删除复选框(当有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 字段根据需要使用清晰的表单呈现,但删除复选框出现在表单的末尾。而且我无法在布局中访问它。

有人知道如何解决这个问题吗?有小费吗?提前致谢!

4

1 回答 1

10

愚蠢的我-想通了..删除字段被称为“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',
    )
于 2012-09-16T12:35:24.703 回答