Вы можете просто передать весь список с объектами прогноза и повторить его в своем weather/index.html
.
def index(request):
....
context = {
'forecasts': weather_data['value']['Forecasts']
}
return render(request, 'weather/index.html', context)
Поскольку одиночный forecast
в вашем weather_data['value']['Forecasts']
также является словарем, вам нужносоздайте шаблонный фильтр , позволяющий вам получить доступ к значениям словаря по ключу внутри словаря через шаблоны django.Я не знаю, почему они не реализовали это до сих пор, так как это общая проблема, но вот что вам нужно:
@register.filter
def get_value(dict, key):
return dict[key]
Тогда внутри weather/index.html
вы можете получить к нему доступ как (я незнаю, что это структура, поэтому я напишу псевдо):
{% for forecast in forecasts %}
<h1>ShortWeekDay: {{forecast|get_value:"ShortWeekDay"}}</h1>
<h2>High: {{forecast|get_value:"HighTemp"}}C</h2>
<h2>Low: {{forecast|get_value:"LowTemp"}}C</h2>
<h2>Wind Speed: {{forecast|get_value:"WindSpeed"}}Km/h</h2>
<h2>Rainfall: {{forecast|get_value:"Rainfall"}}</h2>
{% endfor %}