(如何)我可以判断我的表单字段是不是隐藏在 Django 模板中

Posted

技术标签:

【中文标题】(如何)我可以判断我的表单字段是不是隐藏在 Django 模板中【英文标题】:(How) can I tell if my form field is hidden in Django template(如何)我可以判断我的表单字段是否隐藏在 Django 模板中 【发布时间】:2014-12-20 13:01:45 【问题描述】:

我有一个 Django 模型表单集,有些字段有隐藏的输入。

我正在尝试使用 formset.visible_fields 从表单集中的第一项生成标题。这行得通。

<table>
<tr>
    % for myfield in formset.0.visible_fields  % 
         <th>  myfield.name </th>
    % endfor %
</tr>

%for form in formset %
    <tr>
    % for field in form %
        <td> field </td>
    % endfor %
    </tr>
% endfor%
</table>

问题是隐藏字段没有标题。但是当我遍历我的表单字段时,隐藏字段仍然被标签包裹着。所以我得到每个字段的列,但只有可见字段的标题。

如果我的字段被隐藏,有没有办法提前检查? (或者有没有更好的方法来隐藏标题/字段?)

【问题讨论】:

【参考方案1】:

隐藏字段确实有一个属性。这是关于他们的docs。

文档中的代码:

# Include the hidden fields #
% for hidden in form.hidden_fields %
     hidden 
% endfor %

# Include the visible fields #
% for field in form.visible_fields %
    <div class="fieldWrapper">
         field.errors 
         field.label_tag   field 
    </div>
% endfor %

【讨论】:

以上是关于(如何)我可以判断我的表单字段是不是隐藏在 Django 模板中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正确的字段隐藏/显示我想要的表单

如何在 MVC 4 中使用 jquery 验证表单的隐藏输入字段?

如何在html表单中隐藏文本字段

使用来自 javascript 的返回值自动填充隐藏的表单字段

当条目字段不可见时,如何隐藏 Xamarin 表单中的错误标签?

页面中所有表单的 Laravel 5 CSRF 全局令牌隐藏字段