Python Flask Basics Character Builder Loop Nested Items

Chastin Davis
PRO
Chastin Davis
Pro Student 2,299 Points

May I have some assistance?

How do I gain the courses of the teachers in this case??

flask_app.py
from flask import Flask, render_template

from teachers import TEACHERS

app = Flask(__name__)


@app.route('/')
def index():
    return render_template("teachers.html", teachers=TEACHERS)
templates/teachers.html
<ul class="teachers">

  {% for teacher in teachers %}
  <li>
    <h2>{{teacher['name']}}</h2>
    <ul class ="courses">
      {% for courses in teachers['courses'] %}
      <li> {{ courses}} </li>
      {% endfor %}
    </ul>
  </li>
  {% endfor %}

</ul>

2 Answers

Rod MIky
Rod MIky
15,978 Points

What you wrote for the Jinja template seems right. However, you don't know if the teacher model has a property for courses.

I just tried the challenge you linked this question to and the code I wrote is below.

<ul class="teachers"> {% for teacher in teachers %} <li><h2>{{ teacher['name'] }}</h2> </li> {% endfor %} </ul>

Chastin Davis
Chastin Davis
Pro Student 2,299 Points

This response covers the first part of this challenge. I really need assistance with the second part. not the first part.

Rod MIky
Rod MIky
15,978 Points

I apologize. The problem with your code was in the 2nd for loop. The courses are in teacher not teachers. see code below.

<ul class="teachers">

  {% for teacher in teachers %}
  <li>
    <h2>{{teacher['name']}}</h2>
    <ul class ="courses">
      {% for course in teacher['courses'] %}
      <li> {{ course }} </li>
      {% endfor %}
    </ul>
  </li>
  {% endfor %}

</ul>