【问题标题】:Django: custom widgets in custom modelchoicefieldDjango:自定义模型选择字段中的自定义小部件
【发布时间】:2013-09-13 06:27:20
【问题描述】:

我正在使用自定义 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'))

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

谢谢, 托比

【问题讨论】:

    标签: django django-forms django-templates


    【解决方案1】:

    我认为可以:

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

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

    【讨论】:

    • 谢谢 - 我自己也能想到这一点,但不知何故我的思想被阻塞了。该解决方案确实有效(但在行之间添加逗号)。
    猜你喜欢
    • 2014-06-24
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2011-03-01
    • 2011-05-09
    • 2019-05-07
    相关资源
    最近更新 更多