是否可以使用Django Forms模块获得一个偏好顺序问题?要求用户为每个答案选择评级?在下面的示例中,我希望用户必须对最佳答案进行评分,例如:当然,如果我还可以控制评级量表中的指标的内容和类型,那将是很好的。
下面是使用MultipleChoiceField的示例,但对于我需要构建的许多问题,这还不够。
from django import forms
#In order of preference which news medium do you access most often?
RADIO = 'Radio'
TV = 'TV'
NEWSPAPERS = 'Newspaper'
ONLINE = 'Online'
NONE = 'None'
NEWS_ACCESS = (
(RADIO, 'Radio'),
(TV, 'TV'),
(NEWSPAPERS, 'Newspaper'),
(ONLINE, 'Online'),
(NONE, 'None'),
)
news_access = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=NEWS_ACCESS, label = 'Which news mediums do you access most often? Select all the apply.')
答案 0 :(得分:1)
在这种情况下,每个新闻访问类型都有一个单独的字段。
class MyForm(forms.Form):
radio = forms.IntegerField(min_value=1, max_value=5)
tv = forms.IntegerField(min_value=1, max_value=5)
newspapers = forms.IntegerField(min_value=1, max_value=5)
online = forms.IntegerField(min_value=1, max_value=5)
none = forms.IntegerField(min_value=1, max_value=5)
这将强制用户为每个字段提供值。然后,您需要使用clean_field()和clean()形式的方法来确保它们输入您期望的值,但这超出了此问题的范围。