Django中RadioSelect()小部件的模板呈现问题

Django中RadioSelect()小部件的模板呈现问题,django,django-forms,radio-button,Django,Django Forms,Radio Button,我试图使用django中提供的RadioSelect()小部件呈现(默认)单选按钮,但每当我使用它时,输出都是空白的。但是如果我让django表单加载默认的渲染器,那么它会打印一个下拉框,其中包含的选项很好。我在这里粘贴我为此编写的代码摘要 # In models.py AUDIO_SETTING_CHOICES = ( ('RESTART', 'Play audio from the beginning.'),

我试图使用django中提供的RadioSelect()小部件呈现(默认)单选按钮,但每当我使用它时,输出都是空白的。但是如果我让django表单加载默认的渲染器,那么它会打印一个下拉框,其中包含的选项很好。我在这里粘贴我为此编写的代码摘要

# In models.py

AUDIO_SETTING_CHOICES = (
                      ('RESTART', 'Play audio from the beginning.'),
                      ('CONTINUE', 'Continue playing previous audio (if same).'),
    )

audio_setting = models.CharField(max_length=20, choices=AUDIO_SETTING_CHOICES, default='RESTART')

# In forms.py

class ChapterItemForm(forms.ModelForm):
    def __init__(self, user=None, *args, **kwargs):
        self.user = user
        super(ChapterItemForm, self).__init__(*args, **kwargs)

        self.fields['audio_setting'] = forms.ChoiceField(label="How to play the audio?",
                                                         widget=forms.RadioSelect())

# In template
<Form>
...
audio setting: {{ form.audio_setting }} <br /> 
...
models.py中的
#
音频设置选项=(
(“重新启动”,“从头开始播放音频”。),
(“继续”,“继续播放以前的音频(如果相同)。”,
)
音频设置=models.CharField(最大长度=20,选项=音频设置,默认值为重新启动)
#在forms.py中
类ChapterItemForm(forms.ModelForm):
定义初始化(self,user=None,*args,**kwargs):
self.user=用户
super(章格式,self)。\uuuuu初始值(*args,**kwargs)
self.fields['audio\u setting']=forms.ChoiceField(label=“如何播放音频?”,
widget=forms.RadioSelect())
#模板中
...
音频设置:{{form.audio_setting}}
...
有没有关于我做错了什么的建议?

你没有将任何选择传递给ChoiceField

self.fields['audio_setting'] = forms.ChoiceField(
    choices=AUDIO_SETTING_CHOICES, label="How to play the audio?", 
    widget=forms.RadioSelect())

@Chantz对不起,你的权利,那是CharField。使用第一个选项还有其他方法为无线电场建模吗?@Chantz我相信你的实现是正确的。尽管也可以通过使用
self.fields['foo'].choices=[iterable]
.widget=
来设置选项。这并不是获得radioselect小部件的更好方法。