Сообщение об ошибке: почему я получаю "None", хотя я добавил get() в views.py в Django ????? Кто-нибудь может мне помочь
Это мой файл Views.py и в этом файле я пытаюсь получить значение из HTML
from django.shortcuts import render
from .models import kitchenData
from django.http import HttpResponse
def kitchen(request):
if request.method == 'POST':
table_num = request.POST.get('table_num')
full_name = request.POST.get('full_name')
qty = request.POST.get('qty')
drink_name = request.POST.get('drinks_name')
drink_qty = request.POST.get('drinks_qty')
message = request.POST.get('message')
price = request.POST.get('price')
status = request.POST.get('status')
print(table_num,full_name,qty,drink_name,drink_qty,message,price,status)
return render(request, 'kitchen/kitchen_order.html')
else:
return render(request, 'kitchen/kitchen_order.html')
[![i have attached the output][1]][1]
[1]: https://i.stack.imgur.com/y4pYy.png
Потому что у вас нет значения input в вашем html. Поэтому все values являются None.
Измените свой html с
<tr>
<td>Full Name: </td>
<td name="full_name">Shiva Giri<td>
</tr>
To
<tr>
<td>Full Name: </td>
<td><input type="text" name="full_name" value="Shiva Giri"><td>
</tr>
И так далее для всех остальных значений remaining.
Если я правильно понял, вы хотите узнать, почему вы получаете None при использовании метода get() на словаре/запросе.
Это происходит потому, что запрашиваемый ключ не существует, и вы не указали значение по умолчанию для get(), которое должно быть использовано, если ключ не существует. В этом случае возвращается None.
request.POST.get() получает значения из тегов <input> и <select>, а не из тегов таблицы.
Вы можете попробовать использовать скрытые входы следующим образом: <input type="hidden" id="table_num" name="table_num" value="DC 8">
Вам нужно будет сделать это для всей информации, которую вы хотите отправить в бэкэнд. Не забудьте добавить id="" и name="" ко всем тегам inputs/select

