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' в открытии и закрытии формы