Enhance LLM question import preview with detailed payload information and improved answer display

This commit is contained in:
Ross
2025-10-20 11:04:33 +01:00
parent 01f67f3e32
commit 9be48140a4
2 changed files with 14 additions and 16 deletions
@@ -1,21 +1,19 @@
{% for item in items %} {% for item in items %}
<div class="card mb-2"> <div class="card mb-2">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">Question {{ item.index }}</h5> <h5 class="card-title">Question {{ item.index|add:1 }}</h5>
{% with payload=payloads|slice:item.index|first %} {% if item.payload %}
{% if payload %} <p><strong>Stem:</strong> {{ item.payload.stem|default:''|safe }}</p>
<p><strong>Stem:</strong> {{ payload.stem|default:''|safe }}</p>
<p><strong>Answers:</strong> <p><strong>Answers:</strong>
<ul> <ul>
<li>A: {{ payload.a_answer|default:''|safe }}</li> <li>A: {{ item.payload.a_answer|default:''|safe }}</li>
<li>B: {{ payload.b_answer|default:''|safe }}</li> <li>B: {{ item.payload.b_answer|default:''|safe }}</li>
<li>C: {{ payload.c_answer|default:''|safe }}</li> <li>C: {{ item.payload.c_answer|default:''|safe }}</li>
<li>D: {{ payload.d_answer|default:''|safe }}</li> <li>D: {{ item.payload.d_answer|default:''|safe }}</li>
<li>E: {{ payload.e_answer|default:''|safe }}</li> <li>E: {{ item.payload.e_answer|default:''|safe }}</li>
</ul> </ul>
</p> </p>
{% endif %} {% endif %}
{% endwith %}
<p><strong>Missing M2M:</strong> <p><strong>Missing M2M:</strong>
{% if item.missing_m2m %} {% if item.missing_m2m %}
<ul> <ul>
+1 -1
View File
@@ -635,7 +635,7 @@ def import_llm_questions(request):
aggregated_actually_created = defaultdict(list) aggregated_actually_created = defaultdict(list)
for idx, payload in enumerate(candidates): for idx, payload in enumerate(candidates):
item_report = {"index": idx, "status": None, "errors": [], "missing_m2m": [], "resolved_m2m": {}} item_report = {"index": idx, "status": None, "errors": [], "missing_m2m": [], "resolved_m2m": {}, "payload": payload}
for err in validator.iter_errors(payload): for err in validator.iter_errors(payload):
item_report["errors"].append(err.message) item_report["errors"].append(err.message)
if item_report["errors"]: if item_report["errors"]: