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

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

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>