Могу ли я получить значения из параметров "GET" в виде массива?

Я могу получить данные из url следующим образом.

http://127.0.0.1:8000/page/?key=003

Я показываю вывод в формате Json. Это view.py

def page(request):

    key = request.GET['key']

    data=Device.objects.get(key=key)
    print(key)
   
    data = {
        "open": data.open,
        "close": data.close,
    }

    return JsonResponse(data, safe=False)

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

http://127.0.0.1:8000/page/?key=003&key=004

В терминале выводится вот такой результат.

[22/Mar/2022 15:19:22] "GET /page/?key=003&key004 HTTP/1.1" 200 64
003

Вывод показывает только 003. Могу ли я получить значения из параметров "GET" в виде массива?

Вы не можете иметь более одного параметра с одним и тем же ключом, Вы должны попробовать http://127.0.0.1:8000/page/?key=003,004, а затем разобрать значение, возвращаемое key = request.GET['key'], разделив его символом ','

Да, вы можете иметь более одного параметра с одним и тем же ключом. Просто сделайте следующее:

key = request.GET.getlist('key')

И вы получите массив с ключевыми значениями.

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