如何检查 django 表单中的字段类型?

Posted

技术标签:

【中文标题】如何检查 django 表单中的字段类型?【英文标题】:How to check field type in django form? 【发布时间】:2015-05-06 18:45:49 【问题描述】:

我正在为 django 表单编写模板。我想在遍历所有表单字段时确定字段的类型(输入标签内的类型属性)。

当我写 field 时,它给了我<input id="id_file" name="file" type="file">,没关系,但我想覆盖输入标签(使用引导程序)。因此,我需要像 field.type 这样的东西来写<input name=" field.html_name " type=" field.type" id=" field.id_for_label " class="form-control">

这可能可以通过使用过滤器来解决,但坦率地说我做不到。

【问题讨论】:

【参考方案1】:

您可以通过field 访问字段对象,然后您可以从那里访问widget 对象,该对象有一个input_type 用于输入:

 field.field.widget.input_type 

【讨论】:

@ecstaticpeon 谢谢。这似乎不适用于 CheckboxSelectMultiple。我使用了自定义模板过滤器,如本答案所述:***.com/a/1809982/1526703【参考方案2】:

您可以使用“field.field.widget|widget_type”查找

【讨论】:

以上是关于如何检查 django 表单中的字段类型?的主要内容,如果未能解决你的问题,请参考以下文章

django 模板:如何知道表单字段类型并根据字段类型添加任何按钮

Django Rest Framework - 提交的数据不是文件。检查表单上的编码类型

如何初始化字段类型可变的Django表单

如何修改 Django 中特定类型的所有内置表单字段的默认小部件?

如何在django中为问题添加多个表单字段类型的选项?

更改 Django ModelFormset 中的字段类型