CSS Flask Basics Character Builder Looping Through Items

I'm lost. I wonder what the list that is passed into templates/options.html is.

Is it a simple list of some items, and the list items are referred to by "name"? And the list can be looked up by name 'options'. With that assumption, I tried "for x in options"..."<li>{{x}}" to find it failed. I also tried, if the list is actually a list of 'dict's and the question asks to locate the dict, "for x in options['name']"..."<li>{{x}}", but this shows no different from the same "Bummer! Didn't find all.." error. Please help.

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 x in options %}
<li>{{x}}"></li>
 {% endfor %}
</ul>

1 Answer

Mikael Enarsson
Mikael Enarsson
7,054 Points

A couple of things:

First, you have a problematic quotation mark and greater than sign (">) right after your {{ x }}. You have to get rid of that.

The second problem is related to the task description. It says "... Print out the name key of each item.". This tells us that the list contains a number of dicts, and they are asking you to access the value of "name" from the dict. If you don't remember how to access dict items, the syntax is:

a_dict = {'name': 'Sam', 'job': 'Demon Hunter'}

name = a_dict['name']     #assigns name to 'Sam'

I hope this is clear and helpful ^^

Thanks! I got it.