Overview
ClassQuiz supports 7 different question types to create diverse and engaging quizzes. Each question type has unique answer formats and validation rules defined in the data models.Question Type Enumeration
All question types are defined in theQuizQuestionType enum (classquiz/db/models.py:131):
Question Base Structure
All questions share a common base structure (classquiz/db/models.py:146):The
answers field is polymorphic - its structure varies based on the question type.1. ABCD (Multiple Choice)
Description
Traditional multiple choice questions with one or more correct answers. The most common question type for quizzes.Answer Structure
Example
Validation
The system validates that ABCD questions have ABCDQuizAnswer format (classquiz/db/models.py:156):Color Customization
Color Customization
You can assign custom colors to each answer option using hex color codes. Colors are sanitized during save to prevent XSS:
2. RANGE (Numeric Range)
Description
Asks players to guess a number within a range. Great for estimation questions.Answer Structure
Example
Behavior
- Players see a slider or input to select a number between
minandmax - Answer is correct if between
min_correctandmax_correct(inclusive) - Useful for:
- Population estimates
- Date ranges
- Measurement approximations
- Statistical guessing
RANGE type questions are excluded from answer randomization since the slider/range has a fixed order.
3. VOTING (Opinion Poll)
Description
No correct answer - used for polls and opinion gathering. All answers are equally valid.Answer Structure
Example
Special Features
Live Results API: You can get real-time voting results (classquiz/routers/live.py:259):- Class opinion polls
- Preference surveys
- Icebreaker questions
- Feedback collection
- Engagement checks
Voting questions don’t affect player scores since there’s no “correct” answer.
4. TEXT (Text Input)
Description
Players type in their answer. Supports multiple acceptable answers and case sensitivity options.Answer Structure
Example
Multiple Acceptable Answers
You can specify multiple correct answers:Case Sensitivity
- Case Insensitive (case_sensitive: false)
- Case Sensitive (case_sensitive: true)
- “paris”, “Paris”, “PARIS” all match
- Recommended for most questions
- More forgiving for players
5. SLIDE (Information Slide)
Description
Not a question - displays information to players without requiring an answer. Useful for:- Instructions
- Context/background information
- Breaks between sections
- Fun facts
Answer Structure
Example
SLIDE type questions are excluded from answer randomization and don’t contribute to player scoring.
6. ORDER (Ordering)
Description
Players must arrange items in the correct order. Uses the same answer structure as VOTING.Answer Structure
Example
Use Cases
- Historical timeline events
- Process steps
- Size/magnitude comparisons
- Chronological ordering
- Priority ranking
7. CHECK (Multiple Correct Answers)
Description
Like ABCD, but players can select multiple answers. Multiple answers can be marked as correct.Answer Structure
Uses the same structure as ABCD:Example
Difference from ABCD
ABCD
- Single answer selection
- Radio buttons UI
- One correct answer (typically)
CHECK
- Multiple answer selection
- Checkboxes UI
- Multiple correct answers
- All correct selections needed to be fully correct
Question Settings
Time Limits
All questions have atime field specifying seconds:
- Quick recall: 10-15 seconds
- Standard: 20-30 seconds
- Complex/reading: 45-60 seconds
- SLIDE type: 5-10 seconds (just display time)
Hide Results
Control whether correct answer is shown after question:- Building suspense
- Preventing answer sharing in multi-session games
- Discussion-based learning
Images
All question types support an optional image:.gif, .jpg, .jpeg, .png, .svg, .webp, .jfif
Answer Validation & Sanitization
During save, all answer content is sanitized (classquiz/routers/editor.py:93):Best Practices
Mix Question Types
Use variety to keep players engaged and test different skills
Appropriate Time Limits
Give enough time to read and think, but keep pace engaging
Clear Question Text
Be specific and unambiguous in your wording
Test Your Quiz
Play through once to verify all answers and timings work well
Question Type Selection Guide
Question Type Selection Guide
Choose the right type for your content:
- ABCD: Facts, definitions, single correct answer
- CHECK: Multiple valid answers, categorization
- RANGE: Estimation, approximation, numeric guessing
- TEXT: Recall, spelling, open-ended (with expected answers)
- VOTING: Opinions, preferences, no wrong answer
- ORDER: Sequences, timelines, rankings
- SLIDE: Context, instructions, breaks