Как отобразить элементы массива в 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 %}