본문 바로가기
WEB/HTML

[Web] HTML 에서 for문 쓰기

by 잼들리 2022. 11. 26.

Django 프로젝트를 진행하던 중, views.py에서 html파일로 context를 넘겨줬다.

이 때, context를 리스트로 넘겨주었고, html 파일에서 리스트의 크기만큼 <div>태그를 만들고싶었다.

html을 너무 오랜만에 써봐서, javascript로 for문 + document.write()를 돌려서 div를 만들어야하나.. 생각하던 중

# views.py
            .... # 위에 내용 더 있음
            
            if result.answer == result.result:
                result.correct = 'correct'
            result.save()
            
            result_list.append(result)
        
        result = Result.objects.filter(model=model)
        model.accuracy = result.filter(correct='correct').count() / result.count()
        model.save()
        
        context = {
            'result': result_list,
        }

    # http method의 GET은 처리하지 않는다. 사이트 테스트용으로 남겨둠
    else:
        logger.error(('Something went wrong!!'))
        
    return render(request, 'language/result.html', context)

# language/result.html

<div style='display:flex'>
  {% for r in result %}
    <div class='{{r.correct}}' style='flex:0'>
      <div class='image' style="text-align : center;">
          <img src="{{ r.image.url }}" width="300px" height=300px>
      </div>
      <div class='result'>
        <div class='pred' style="text-align : center;">
          예측 결과 : {{ r.result }}
        </div>
        <div class='answer' style="text-align : center;">
          정답  : {{ r.answer }}
        </div>
      </div>

      <div style="text-align : center;">
          {{r.correct}}
      </div>
    </div >
  {% endfor %}
  </div>

 

아주 간단하게 

{% for in %}{% endfor %}

을 사용하여 해결하였다.

이런 간단한 것도 까먹다니.. 다시 html 공부를 해야겠다ㅠㅠ

 

 

댓글