首页 > 解决方案 > 如何在 oTree 中创建多项选择题?

问题描述

我想知道在 otree 中是否可以有多项选择题。类似单选按钮的东西,但它可以让你选择不止一件事。我在想的是这样的:

问题:以下陈述列表包含三个正确陈述和三个错误陈述。请选择正确的三个陈述:

标签: pythonmultiple-choiceotree

解决方案


您可以将otree_models.models.MultipleChoiceFormField其用于此目的,如下所示:

models.py

from otree.api import BasePlayer
from otree_tools.models import fields as tool_models

class Player(BasePlayer):

    correct_statements = tool_models.MultipleChoiceModelField(label="Please select the three correct statements",
                                                              min_choices=3, max_choices=3)

pages.py

from ._bultin import Page

class ExamplePage(Page):

    form_model = "player"
    form_fields = ["correct_statements"]

    def correct_statements_choices(self):
         """Return the list of statements to choose from."""
         return ["Statement 1", "Statement 2", "Statement 3",
                 "Statement 4", "Statement 5", "Statement 6"]

ExamplePage.html中,只需包含表单字段:

{% extends "global/Page.html" %}
{% load otree %}

{% block content %}
The following list of statements contains three correct statements and three false statements. 

{% formfield player.correct_statements %}

{% next_button %}

{% endblock %}

推荐阅读