Как выводить результаты из API на основе поиска пользователя / Django

Как вы можете видеть на рисунке ниже, я пытаюсь заставить пользователя искать заданную страну, дату начала/окончания и получить результат "Подтвержденные случаи" и "Дата" обратно из API, но я не уверен, как это сделать.

введите описание изображения здесь

Я пытался использовать этот API, чтобы заполнить выпадающее меню стран -->

https://api.covid19api.com/summary

но это другой API, который я должен использовать, но при изменении параметров для страны и даты -->

https://api.covid19api.com/country/afghanistan/status/confirmed?from=2020-09-06T00:00:00Z&to=2020-09-11T00:00:00Z

Вот фрагменты моего кода:

views.py

def home(request):
   # response = requests.get('https://api.covid19api.com/country/afghanistan/status/confirmed?from=2020-09-06T00:00:00Z&to=2020-09-11T00:00:00Z').json()
    response = requests.get('https://api.covid19api.com/summary').json()

    my_list = []
    for i in range(0, len(response ['Countries'])):
        my_list.append(response ['Countries'][i]['Country'])


    if request.method=='POST':
        selected_country = request.POST['selected_country']
        print('here', selected_country)


    
    return render(request, 'home.html', { 'my_list': my_list})

home.html

<div class="container">
  <form method="POST" action="{% url 'home' %}">
    {% csrf_token %}
    <label for="selected_country" style="margin-right: 5px;"> Select a Country, Start & End Dates : </label>
    <select name="selected_country" id="selected_country">
      {% for object in my_list %}
      <option value="">{{object}}</option>
      {% endfor %}
    </select>
    <label for="startdate"></label>
    <input type="date" id="startdate">

    <label for="enddate"></label>
    <input type="date" id="enddate">

    <input type="submit" value="Search" />
  </form>
</div>

PLUS: когда я нажимаю на "поиск", я должен получить значение selected_country, потому что я пытался распечатать его, но оно почему-то не отображается.

Любая помощь приветствуется

Вернуться на верх