Enhance question feedback in exam review by adding answers and feedback details for each part
This commit is contained in:
@@ -129,6 +129,15 @@ class Question(QuestionBase):
|
||||
def get_questions(self):
|
||||
return [self.a, self.b, self.c, self.d, self.e]
|
||||
|
||||
def get_questions_and_answers_and_feedback(self):
|
||||
return [
|
||||
(self.a, self.a_answer, self.a_feedback),
|
||||
(self.b, self.b_answer, self.b_feedback),
|
||||
(self.c, self.c_answer, self.c_feedback),
|
||||
(self.d, self.d_answer, self.d_feedback),
|
||||
(self.e, self.e_answer, self.e_feedback),
|
||||
]
|
||||
|
||||
def get_unanswered_mark_and_text(self) -> tuple[int, tuple[str, str, str, str, str]]:
|
||||
"""
|
||||
|
||||
|
||||
@@ -7,21 +7,15 @@
|
||||
<h6>Parts</h6>
|
||||
<ul class="list-group">
|
||||
{% if question.get_questions %}
|
||||
{% for part in question.get_questions %}
|
||||
{% for question, answer, feedback in question.get_questions_and_answers_and_feedback %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<strong>Part {{ forloop.counter }}.</strong>
|
||||
<span class="ms-2">{{ part }}</span>
|
||||
<span class="ms-2">{{ question }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{# If we can determine the correct answer for this part show a badge - best-effort #}
|
||||
{% if question.get_answers %}
|
||||
{% with ans=question.get_answers|get_item:forloop.counter0 %}
|
||||
{% if ans %}
|
||||
<span class="badge bg-primary">Answer: {{ ans }}</span>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<span class="badge bg-primary">Answer: {{ answer }}</span>
|
||||
<span class="ms-2">{{ feedback }}</span>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user