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 Looping Through Items

Looping through items in a list

Not seeing how to solve this one, Workspaces isn't really helping either. I think I have the right code, just maybe not in the right place?

app.py
from flask import Flask, render_template

from options import OPTIONS

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('options.html', options=OPTIONS)
templates/options.html
<ul>
  {% for option in OPTIONS %}
    <li> {{ name }}
  {% endfor %}
</ul>

2 Answers

Nathan Bivens
Nathan Bivens
14,460 Points

Florian, you're close. You are iterating over every item in options, and it stops there. To complete the request, you need to return each item that possesses the "name" key, instead of returning each item in options.

<ul> {% for item in options %} <li> {{item['name']}}</li> {% endfor %} </ul>

Florian Benkö
Florian Benkö
2,766 Points

i am struggling too. the question is:

Your template has been given a list named options. Loop through each item in options and create an <li> inside the <ul>. Print out the name key of each item.

i think lists have no keys at all?

''' <ul> {% for name in options %} <li> {{ name }} </li> {% endfor %} </ul> '''