Python Django窗体无法呈现单选按钮

Python Django窗体无法呈现单选按钮,python,django,django-forms,Python,Django,Django Forms,对不起,我对Django很陌生。我读了很多答案,但无法使它起作用。我错过了一些东西 这是我的表格 from django import forms from .models import Post from django.utils.translation import gettext as _ class EventsForm(forms.ModelForm): class Meta: CHOICES=[('select1','s

对不起,我对Django很陌生。我读了很多答案,但无法使它起作用。我错过了一些东西

这是我的表格

    from django import forms
    from .models import Post
    from django.utils.translation import gettext as _



    class EventsForm(forms.ModelForm):
     class Meta:
        CHOICES=[('select1','select 1'), ('select2','select 2')]
        model = Post
        widgets = {
            'title': forms.TextInput(attrs={'placeholder': _('form-title')}),
            'type_id': forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect),
        }
        fields = ('title', 'type_id', 'post_date', )
我想为type\u id设置单选按钮

我发现了错误

'ChoiceField' object has no attribute 'attrs'
你能解释一下我做错了什么吗:)

谢谢你

这对我有用

    class EventsForm(forms.ModelForm):
      CHOICES=(('select1','select 1'), ('select2','select 2'))
      type_id = forms.TypedChoiceField(choices=CHOICES, widget=forms.RadioSelect)
      class Meta:
        model = Post
        fields = ('title', 'type_id', 'post_date', )

您混淆了表单字段和小部件。在
widgets
dict中指定的内容实际上必须是widgets

    widgets = {
        'title': forms.TextInput(attrs={'placeholder': _('form-title')}),
        'type_id': forms.RadioSelect(choices=CHOICES),
    }

非常感谢。你能解释一下它的区别和工作方式吗?因为“小部件”是forms.RadioSelect而不是choiceField。。。最后是一个字段