Метод Django POST не получает все поля ввода из HTML
Пожалуйста, я хотел бы попросить о помощи. Я создаю веб-приложение и у меня возникают трудности, когда я пытаюсь получить данные из HTML-формы и получить их через метод POST в Django. Он извлекает данные только из одного поля, и я очень ценю вашу помощь в выяснении того, почему он не извлекает информацию из других полей, а только из поля location. Большое спасибо!
HTML = create-request.html
<form action="{% url 'save_request' %}" id="checklistForm" name="checklistForm" enctype="multipart/form-data" method="POST">
{% csrf_token %}
<section id="step-1" class="form-step">
<div class="mt-3">
{% include 'home/1_resource-request.html' %}
</div>
</section>
</form>
Django/Python = views.py
def save_request(request):
#print(request.POST)
if request.method == 'POST':
context = {}
location = request.POST.get('location', None)
support = request.POST.get('support', None)
band_PMA = request.POST.get('bandPMA', None)
band_PMO = request.POST.get('bandPMO', None)
ippf = request.POST.get('ippf', None)
print(location, support, band_PMA, band_PMO, ippf)
return render(request, 'home/create-request.html', context=context)
В html определено множество различных форм. Первая форма имеет элемент ввода location
, вторая форма имеет элемент ввода support
и так далее.
Одновременно может быть отправлена только одна форма. По умолчанию это первая форма на странице, поэтому вы видите только элемент location
.
Мне кажется, вам нужно переписать html, чтобы была только одна форма.
Это потому, что у вас много тегов.
Вам нужно оставить только один, тот, который обертывает ваш include, так что сделайте это :
<form action="{% url 'save_request' %}" id="checklistForm" name="checklistForm" enctype="multipart/form-data" method="POST">
{% csrf_token %}
<section id="step-1" class="form-step">
<div class="mt-3">
{% include 'home/1_resource-request.html' %}
</div>
</section>
</form>
и что :