Python Flask Basics Character Builder Loop Nested Items

Python looping...

What am I missing here for this test module?

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

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 course in teachers %}
          <li>{{ course.course }}</li>
        {% endfor %}
        </ul>
    </li>
  {% endfor %}
</ul>

1 Answer

Josh Keenan
Josh Keenan
19,311 Points

You're using the wrong syntax to access the dictionary, it's not an attribute of a class, so not teacher.name, but teacher['name']!

Josh Keenan
Josh Keenan
19,311 Points

Apply the same logic to the second part of the challenge as well!