对于用户表单,我需要几个 likert 项目。(评估意见程度的问题。底部的示例)
我需要使用 oTree 库,它大量构建在 django 上。尽可能少地偏离 oTree 的解决方案是可取的。
小RadioSelectHorizontal
部件在这里似乎是显而易见的选择。但是与默认设置的两个区别是强制性的:
- 选项标签(“同意”、“中立”等)必须位于单选按钮下方。
- 单选按钮必须均匀分布。(理想情况下,它们在整个页面上对齐)
相比之下,默认外观将在单选按钮之间添加标签,并且只允许每个标签所需的空间:
编码:
question_1 = models.IntegerField(widget=widgets.RadioSelectHorizontal,
label="some question",
choices=[[1, "strongly disagree"], [2, "disagree"], [3, "neutral"], [4, "agree"], [5, "strongly agree"]])
我该如何处理?
django 文档提到了几种方法,即自定义小部件、自定义 CSS 等等。但据我所知,oTree 比 django 更受限制。
为了说明一个满足这两个要求的示例: