Django - Невозможно получить значения из поля ввода

В настоящее время я работаю над проектом Django, в котором я пытаюсь получить значения из полей ввода HTML при нажатии на кнопку отправки. Одно из них - плоский текст, а два - поля даты. Вызываемое представление запускается при нажатии на кнопку (я жестко закодировал значения в функции представления для тестирования), но когда я печатаю значения полей ввода, которые я пытаюсь получить, я получаю None для всех трех.

Форма, которую я использую в своем html-шаблоне, выглядит следующим образом:

<form action="{% url 'get-billing'%}" method='GET'>
{% csrf_token %}
<button type="submit" value="click" class="btn btn-warning btn-sm fs-6">Submit</button>
 </form>

views.py:

def get_billing(request):

    url='placeholder for api url'
    secret='placeholder for api key'

    client = request.GET.get('client-name')
    start = request.GET.get('start-date')
    end = request.GET.get('end-date')

    print(client)
    print(start)
    print(end)

    response = requests.get(url, headers={
        'key': secret,
        'start': '2021/10/01',
        'end': '2021/10/02',
    }).json()

    # print(request)


    context = {'data':response}

    return render(request, 'billing/billing.html', context)

urls.py:

path('get_billing',views.get_billing, name='get-billing'),

Вот что возвращают 3 оператора печати, хотя во всех трех есть значения.

None
None
None

Кто-нибудь знает, что я делаю неправильно?

Я думаю, что лучшее, что вы можете сделать, это изменить этот метод get на метод post. Тогда в бэкэнде вы сможете использовать request.POST.get('YOUR-STUFF') просто

Простите, я проверил еще раз ваш код. Он не работает по той простой причине, что на вашей html-странице нет поля ввода в форму. Вы должны поместить input с именами 'client-name','start-date','end-date' в открытии и закрытии формы

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