Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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> '''