Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Flask Basics Character Builder Loop Nested Items

Chastin Davis
PLUS
Chastin Davis
Courses Plus 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
16,065 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
Courses Plus 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
16,065 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>