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

How to check field type in django form?

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

当我写 {{ field }} 时,它会给我 <input id="id_file" name="file" type="file"> 并且没问题,但我想覆盖输入标签(使用 bootstrap)。因此,我需要像 {{ field.type }} 这样的东西来写 <input name="{{ field.html_name }}" type="{{ field.type}}" id="{{ field.id_for_label }}" class="form-control">

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

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

{{ field.field.widget.input_type }}

您可以使用"field.field.widget|widget_type"

查找