Python Flask Basics Character Builder Loop Nested Items

TSE YU
TSE YU
1,167 Points

Why I am getting the error message "Didn't find the teachers' `name`s."

Why I am getting the error message "Didn't find the teachers' names."

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

2 Answers

I think the item name you are using in your loop is a bit confusing. {% for teacher in teachers %} would be less confusing. Instead of {{ name }} you need {{ name.name }} to get the correct output.

<ul class="teachers">
  {% for teacher in teachers %}
    <li><h2>{{ teacher.name }}</h2></li>
  {% endfor %}
</ul>
TSE YU
TSE YU
1,167 Points

Thank you I got it correct now.