This is a configurable quiz app for Django.
- Question order randomisation
- Storing of quiz results under each user
- Previous quiz scores can be viewed on category page
- Correct answers can be shown after each question or all at once at the end
- Logged in users can return to an incomplete quiz to finish it and non-logged in users can complete a quiz if their session persists
- The quiz can be limited to one attempt per user
- Questions can be given a category
- Success rate for each category can be monitored on a progress page
- Explanation for each question result can be given
- Pass marks can be set
- Multiple choice question type
- True/False question type
- Essay question type
- Custom message displayed for those that pass or fail a quiz
- Custom permission (view_sittings) added, allowing users with that permission to view quiz results from users
- A marking page which lists completed quizzes, can be filtered by quiz or user, and is used to mark essay questions
- Question order randomisation
- Storing of quiz results under each user
- Previous quiz scores can be viewed on category page
- Correct answers can be shown after each question or all at once at the end
- Logged in users can return to an incomplete quiz to finish it and non-logged in users can complete a quiz if their session persists
- The quiz can be limited to one attempt per user
- Questions can be given a category and subcategory
- Success rate for each category can be monitored on a progress page
- Explanation for each question result can be given
- Pass marks can be set
- Multiple choice question type
- True/False question type
- Essay question type
- Display an image alongside the question
- Custom message displayed for those that pass or fail a quiz
- Custom permission (view_sittings) added, allowing users with that permission to view quiz results from users
- A marking page which lists completed quizzes, can be filtered by quiz or user, and is used to mark essay questions
- After selecting a larger pool of questions, a quiz can be set to show a random subset rather than all within the pool
- Start and end times for sitting exams are recorded
- i18n support
django-model-utils
Pillow
Tests are included and pass for Django versions 1.5, 1.6, 1.7 and 1.8, running with Python 2.7, 3.3 and 3.4
Clone the repo with git clone https://github.com/tomwalker/django_quiz.git.
Run pip install -r requirements.txt.
Run python setup.py install
Add 'quiz', 'multichoice', 'true_false', 'essay' to your INSTALLED_APPS setting.
INSTALLED_APPS = (
...
'quiz',
'multichoice',
'true_false',
'essay',
...
)
Add the following to your projects urls.py file, substituting q for whatever you want the quiz base url to be.
urlpatterns = patterns('',
...
url(r'^q/', include('quiz.urls')),
...
)