Python 表单字段API?

Python 表单字段API?,python,django,django-forms,Python,Django,Django Forms,我正在遍历表单字段列表。如何识别每个字段的类型?对于复选框,我可以调用field.is_checkbox…对于列表、多个EchoiceFields等是否有类似的方法 谢谢假设您在这里使用的是HTML。。。因为它不是很清楚 多上一节课怎么样 如果您不知道allready,则class属性将识别以下内容: class="hello there you" 我们有三节课。“你好”班、“那里”班和“你”班。 因此,如果他们都有一个类,只需添加一个空格和自定义类别名称。查看表单上每个字段的类: for f

我正在遍历表单字段列表。如何识别每个字段的类型?对于复选框,我可以调用field.is_checkbox…对于列表、多个EchoiceFields等是否有类似的方法


谢谢

假设您在这里使用的是HTML。。。因为它不是很清楚

多上一节课怎么样

如果您不知道allready,则class属性将识别以下内容:

class="hello there you"
我们有三节课。“你好”班、“那里”班和“你”班。
因此,如果他们都有一个类,只需添加一个空格和自定义类别名称。

查看表单上每个字段的类:

for f_name, f_type in my_form_instance.fields.items():
    print "I am a ",type(f_type)
    # or f_type.__class__
这将产生类似于
的输出

如果愿意,您可以通过以下方式以简单字符串的形式获取名称:

print type(f_type).__name__
# produces 'BooleanField'
编辑:还要注意字段和小部件之间的区别。Django中没有复选框字段,只有一个CheckboxInput小部件,这是布尔字段的默认值。您的意思是查找小部件(非常特定于呈现)还是字段(与表单字段的数据类型和验证有更多关系)?如果是小部件,您可以使用以下方法获取小部件类型:

f_type.widget

希望有帮助

我不确定这是否是您想要的,但如果您想知道它最终会出现在HTML中的字段类型,可以使用以下内容进行检查:

{% for field in form %}
    {{ field.field.widget.input_type }}
{% endfor %}
widget.input_类型将保存文本、密码、选择等


另外,我直到5秒钟前才知道这一点#django irc.freenode.net总是有很好的帮助。

你有源代码。你为什么要这么做?