从 visible_fields() 中查找可见字段的类型
Find the type of visible field from visible_fields()
我的 forms.py
中有以下代码。我正在使用 ModelForm 生成表单视图
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
print(visible)
visible.field.widget.attrs['class'] = 'form-control'
目的是不将 form-control
class 放在 boolen/checkbox 类型的字段上。但是我很难弄清楚如何从上面的行中获取字段类型。
print(visible)
在控制台中显示以下内容
我尝试使用 field.type
或 field.getType()
,似乎没有任何效果。
您可以通过查找 .field.widget.input_type
:
来检查这一点
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if visible.field<strong>.widget.input_type == 'checkbox'</strong>:
visible.field.widget.attrs['class'] = 'form-control'
我的 forms.py
中有以下代码。我正在使用 ModelForm 生成表单视图
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
print(visible)
visible.field.widget.attrs['class'] = 'form-control'
目的是不将 form-control
class 放在 boolen/checkbox 类型的字段上。但是我很难弄清楚如何从上面的行中获取字段类型。
print(visible)
在控制台中显示以下内容
我尝试使用 field.type
或 field.getType()
,似乎没有任何效果。
您可以通过查找 .field.widget.input_type
:
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if visible.field<strong>.widget.input_type == 'checkbox'</strong>:
visible.field.widget.attrs['class'] = 'form-control'