Python Flask Basics Character Builder Starting the Builder

Daniel Mohr
Daniel Mohr
3,156 Points

I need help. i get an error saying that. tag start is not closed, when I write {% if saves.get('color')

Hi.

the problem I'm having with my code is line 16 <input type="radio" id="{{ color }}" name="colors" value="{{ color }}" {% if saves.get('color') == color %}checked{% endif %}>

I get an error saying tag start is not closed. Can some one help me with this?

{% extends "layout.html" %}

{% block content %}
<!--Build Area -->
<form action="" method="POST" class="wrap no-top">
    <div class="grid-100 row">
        <div class="grid-30">
            <div class="title">
                <input type="text" name="name" value="{{ saves.get('name', '') }}">
            </div>
        </div>
        <div class="grid-70">
            <div class="colors">
                {% for color in options['colors'] %}
                    <input type="radio" id="{{ color }}" name="colors" value="{{ color }}"
                           {% if saves.get('color') == color %}checked{% endif %}>
                    <label for="{{ color }}"></label>
                {% endfor %}
                <button class="btn">Update</button>
            </div>
        </div>
        <div id="bear" class="grid-100">
            <div class="bear-body"><img src="/static/img/bear_body.svg" /></div>
            <div class="head"><img src="/static/img/bear_face.svg" /></div>
            <div class="nose"><img src="/static/img/bear_nose.svg" /></div>
        </div>
        <div class="items">
        </div>
    </div>
</form>

{% endblock %}
Chris Freeman
Chris Freeman
Treehouse Moderator 64,284 Points

Curious if your error changes if you try this:

{% for color in options.colors %}

Instead of this:

{% for color in options['colors'] %}

1 Answer

Mel Rumsey
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree seal-36
Mel Rumsey
Treehouse Staff

Hey Daniel Mohr! I am taking a look at the code for the section you are on and it looks like there might be an issue with code that is written in the layout.html file. I used your code from the builder.html and while the line is red, it isn't what is throwing the error on my end. Check your layout.html file and see if it looks similar to this:

        <div class="wrap no-bottom messages bg-{{ saves.get('colors', 'black') }}">
            {% with messages = get_flashed_messages() %}
            {% if messages %}
            <ul class="flashes">
                {% for message in messages %}
                <li>{{ message }}</li>
                {% endfor %}
            </ul>
            {% endwith %}
        </div>

If so, there needs to be an endif to close out the if statement right above the endwith. Give that a try. If that doesn't solve the problem, send over a snapshot link to your workspace and I can dig into your code and see what the issue might be.

Daniel Mohr
Daniel Mohr
3,156 Points

oh thank you so much. that worked:)