Enhance exam review question fragment to display detailed answers and feedback with correct answer indication

This commit is contained in:
Ross
2025-11-09 21:52:41 +00:00
parent fd8edd3cc3
commit e6a01cb1b5
@@ -4,7 +4,108 @@
<h5 class="card-title">Question</h5> <h5 class="card-title">Question</h5>
<p class="lead">{{ question }}</p> <p class="lead">{{ question }}</p>
<p> {# Use per-field answers (a..e) from sbas Question model and highlight the best answer #}
<div class="mt-3">
<h6>Answers</h6>
<ul class="list-group">
{% if question.a_answer %}
<li class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong class="me-2">A.</strong>
<span>{{ question.a_answer }}</span>
{% if question.a_feedback %}
<div class="small text-muted">Feedback: {{ question.a_feedback }}</div>
{% endif %}
</div>
<div>
{% if question.best_answer == 'a' %}
<span class="badge bg-success">Correct</span>
{% else %}
<span class="badge bg-light text-muted">&nbsp;</span>
{% endif %}
</div>
</li>
{% endif %}
{% if question.b_answer %}
<li class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong class="me-2">B.</strong>
<span>{{ question.b_answer }}</span>
{% if question.b_feedback %}
<div class="small text-muted">Feedback: {{ question.b_feedback }}</div>
{% endif %}
</div>
<div>
{% if question.best_answer == 'b' %}
<span class="badge bg-success">Correct</span>
{% else %}
<span class="badge bg-light text-muted">&nbsp;</span>
{% endif %}
</div>
</li>
{% endif %}
{% if question.c_answer %}
<li class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong class="me-2">C.</strong>
<span>{{ question.c_answer }}</span>
{% if question.c_feedback %}
<div class="small text-muted">Feedback: {{ question.c_feedback }}</div>
{% endif %}
</div>
<div>
{% if question.best_answer == 'c' %}
<span class="badge bg-success">Correct</span>
{% else %}
<span class="badge bg-light text-muted">&nbsp;</span>
{% endif %}
</div>
</li>
{% endif %}
{% if question.d_answer %}
<li class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong class="me-2">D.</strong>
<span>{{ question.d_answer }}</span>
{% if question.d_feedback %}
<div class="small text-muted">Feedback: {{ question.d_feedback }}</div>
{% endif %}
</div>
<div>
{% if question.best_answer == 'd' %}
<span class="badge bg-success">Correct</span>
{% else %}
<span class="badge bg-light text-muted">&nbsp;</span>
{% endif %}
</div>
</li>
{% endif %}
{% if question.e_answer %}
<li class="list-group-item d-flex justify-content-between align-items-start">
<div>
<strong class="me-2">E.</strong>
<span>{{ question.e_answer }}</span>
{% if question.e_feedback %}
<div class="small text-muted">Feedback: {{ question.e_feedback }}</div>
{% endif %}
</div>
<div>
{% if question.best_answer == 'e' %}
<span class="badge bg-success">Correct</span>
{% else %}
<span class="badge bg-light text-muted">&nbsp;</span>
{% endif %}
</div>
</li>
{% endif %}
</ul>
</div>
<p class="mt-2">
<a class="btn btn-sm btn-outline-secondary" href="{% url app_name|add:':question_detail' question.pk %}" target="_blank">View full question details</a> <a class="btn btn-sm btn-outline-secondary" href="{% url app_name|add:':question_detail' question.pk %}" target="_blank">View full question details</a>
</p> </p>