Python Flask Basics Character Builder Starting the Builder

Explanation of what is going on with the HTML for builder.html

Hello!

I am a little confused on what is happening with the HTML. I am not too familiar with radio buttons with HTML and Kenneth really didn't explain what he was doing. For example, what does name and value do in the input and what does label for do?

'''

        <div class="colors">
            {% for color in options['colors'] %}<!-- basicly a python for loop -->
              <input type="radio" id="{{ color }}" name = "colors" value = "{{ color }}"
                {% if saves.get('colors') == color %} checked{% endif %}> <!-- if statement -->
              <label for="{{ color }}"> </label>

            {% endfor %}
            <button class="btn">Update</button>
        </div>

'''

You can refer to this link for more information about forms.