Django:如何更新无效表单字段的 class 属性以在 Bootstrap 5 中显示错误消息?

Django: How to update a class attribute of an invalid form field to display error messages in Bootstrap 5?

当我在 Bootstrap 5, I need to add an .is-invalid class to the input form field with an error to display it in div with class="invalid-feedback". To update a class attribute of a form field in Django I can do this, as stated in the docs 中使用服务器端验证时:

class CommentForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['name'].widget.attrs.update({'class': 'special'})
        self.fields['comment'].widget.attrs.update(size='40')

但是当表单返回无效时,我无法弄清楚如何将 .is-invalid 添加到表单字段。我在文档中找到了 this,但它不起作用。

我不知道正确的方法,但我已经完成了我的工作

if form.is_valid():
    form.save()
    return redirect("success")
else:
    for field in form.errors:
        form[field].field.widget.attrs['class'] += ' is-invalid'

这会将 is-invalid class 添加到所有无效字段
注意:别忘了加上space' is-invalid'