Django:自定义modelchoicefield中的自定义小部件

时间:2013-09-09 17:32:02

标签: django django-forms django-templates

我使用自定义的Modelchoicefield类来获取用户组的一部分的全名,而不是用户名:

class UserModelChoiceField(forms.ModelChoiceField):
    def label_from_instance(self, obj):
        return "%s" % (obj.get_full_name())

在表单中,我在为“class Meta”中的其他字段定义小部件之前调用此类:

tutor = UserModelChoiceField(User.objects.filter(groups__name='teachers'))

有没有办法将小部件添加到“tutor”-field?我想在HTML输出中添加“class ='form-control'”。

谢谢, 托比

1 个答案:

答案 0 :(得分:0)

我认为会这样做:

tutor = UserModelChoiceField(
    User.objects.filter(groups__name='teachers')
    widget=Select(attrs={'class': 'form-control'})
)

虽然如果你要在更多地方使用bootstrap,你应该考虑使用crispy-forms或类似的库。