代码看起来很乱;请问有没有更好的办法

Code seems messy; asking if there is a better way

对于构建前端 Web 是新手,这将是我第一次在这里提出问题。我正在使用 Flask 进行尝试,但我的代码似乎有点乱。有没有更简单的方法来实现这段代码?

            {% for data in dataList %}
              <tr>
                {% for d in data %}
                  {% if data.index(d) == 0 %}
                    {% if dataList.index(data) == 0 %}
                      <td> <input type="radio" name="option" value="{{d}}" checked> </td>
                    {%else%}
                      <td> <input type="radio" name="option" value="{{d}}"> </td>
                    {%endif%}
                  {%else%}
                    {% if d %}
                      <td> {{d}} </td>
                    {%endif%}
                  {%endif%}
                {% endfor %}
              </tr>
            {% endfor %}

如果让我整理这段代码,我可能会得到如下内容:

{% for data in dataList %}
    <tr>
        {% for d in data %}
            {% if data.index(d) == 0 %}
                <td>
                    <input type="radio" name="option" value="{{d}}" {% if dataList.index(data) == 0 %} checked {% endif %}>
                </td>
            {% else %}
                {% if d %}
                    <td>{{d}}</td>
                {% endif %}
            {% endif %} ## data.index(d) == 0
        {% endfor %} ## d in data
    </tr>
{% endfor %} ## data in dataList

for-loop block 内部,您可以访问一些特殊变量。 loop.first 在第一次迭代中等于 True

{% for data in dataList %}
{% set outer_loop = loop %}
  <tr>
    {% for d in data %}
      {% if loop.first %}
        <td><input type="radio" name="option" value="{{d}}" {{"checked" if outer_loop.first}}></td>
      {% elif d %}
        <td>{{d}}</td>
      {% endif %}
    {% endfor %}
  </tr>
{% endfor %}