Как отобразить элементы массива в python

Я пытаюсь просмотреть этот массив и отобразить его в моем проекте django, но это не работает.

Views.py

def(request):
  
  {"product":[
    {
      "name":"sogi",
      "desc":"solo"
    },
    {
      "name":"molo",
      "desc":"kanta"
    },
  ]
 }
   context={"tab":"product"}
   return render(request,'api/myapi.html',context)

myapi.html

  {% for pro in tab %}
    {{pro.name}}
  {% endfor %}

вы выполняете итерацию по строке.

вместо этого сделайте следующее

def(request):
    tab = {"product":[
             {
              "name":"sogi",
              "desc":"solo"
              },
              {
              "name":"molo",
              "desc":"kanta"
              },
             ]
            }
   context={"tab":tab}
   return render(request,'api/myapi.html',context)
  {% for pro in tab['product'] %}
    {{pro['name']}}
  {% endfor %}

Вы должны изменить создание контекста:

def(request):
    tab = {"product": [...]}
    context = {"tab": tab}
    return render(request, 'api/myapi.html', context)

И измените использование в вашем шаблоне:

{% for pro in tab.product %}
    {{ pro.name }}
    {{ pro.desc }}
{% endfor %}
def yourFunName(request):
    dict = {
          "product":[
             {
              "name":"sogi",
              "desc":"solo"
             },
             {
              "name":"molo",
              "desc":"kanta"
             },
                    ]
           }
 
    tab = dict['product']
    return render(request, 'api/myapi.html', {"tab":tab)

в html сделайте следующее:

{% for pro in tab %}
    {{ pro.name }}
    {{ pro.desc }}
{% endfor %}
Вернуться на верх