如何获得 'hidden' 属性 以获得带有脆皮形式的 div?

How do I get 'hidden' property for a div with crispy forms?

我希望我的 html 使用 'hidden' 作为 div 的 属性 渲染:

<div class="some-class" hidden>
    <input id="field1"....... form stuff>
</div>

如果我的表格是这样的:

class SomeForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(SomeForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.layout = Layout(
            Div(Field('field1'), css_class="some-class"),
        )

我该怎么做?我似乎无法在 Crispy 文档中找到它。现在我用 jquery 来做(页面加载后),我也可以添加一个 class 然后将它隐藏在 css 中,但是我如何添加 [=25] =] 属性到 div?

根据 the docs,您有几种选择。您可以使用 type="hidden":

隐藏 field
Field('field_name', type="hidden")

如果您必须隐藏示例中显示的 div,我建议您只使用 CSS class:

.some-class { display: none; }

但是,文档说 crispy-forms 支持所有 HTML5 属性(如 hidden),只需将破折号替换为下划线即可。似乎遵循简单地使用 hidden="true" 应该适用于你的情况:

Div(Field('field1'), css_class="some-class", hidden="true")