Как проверить, выбрана ли радиокнопка, используя django
У меня есть 5 радиокнопок и каждая имеет разные значения, но так как пользователь может выбрать только 1 вариант из 5 и после выбора значение радиокнопки должно быть сохранено в моих моделях django.
Это мой html код
<div class="col">
<div class="form-group">
<input class="form-check-input" type="radio" name="reason" id="reason1" checked>
<label class="form-check-label" for="reason1">
Casual Leave
</label>
</div>
<div class="form-group">
<input class="form-check-input" type="radio" name="reason" id="reason2">
<label class="form-check-label" for="reason2">
Medical Leave
</label>
</div>
<div class="form-group">
<input class="form-check-input" type="radio" name="reason" id="reason3">
<label class="form-check-label" for="reason3">
Earned Leave
</label>
</div>
<div class="form-group">
<input class="form-check-input" type="radio" name="reason" id="reason4">
<label class="form-check-label" for="reason4">
Office Duty
</label>
</div>
<div class="form-group">
<input class="form-check-input" type="radio" name="reason" id="reason5">
<label class="form-check-label" for="reason5">
Compensatory Off
</label>
</div>
</div>
*этот код содержит тег формы
Моя функция Django
def leaveapplicationsubmit(request):
if request.method == 'POST':
reason1 = request.POST['reason1']
reason2 = request.POST['reason2']
reason3 = request.POST['reason3']
reason4 = request.POST['reason4']
reason5 = request.POST['reason5']
if 'reason1' in request.POST:
reason = "Casual Leave"
elif 'reason2' in request.POST:
reason="Medical Leave"
elif 'reason3' in request.POST:
reason="Earned Leave"
elif 'reason4' in request.POST:
reason="Office Duty"
elif 'reason5' in request.POST:
reason="Compensatory Off"
else:
return HttpResponse('Please select the reason')
else:
return HttpResponse("Failed")
Пожалуйста, помогите мне с этим, мне это очень нужно
У всех кнопок есть name="reason"
. Именно это имя следует искать в коде, а не reason1, reason2 и т.д. Это идентификаторы, а не имена.
Кроме того, каждой кнопке нужен атрибут value
, чтобы можно было определить, какая из них была нажата.
Посмотрите примеры здесь https://www.w3schools.com/tags/att_input_type_radio.asp
В представлении напишите этот код, здесь reason_
будет храниться значение, которое будет выбрано пользователем, а в HTML-коде напишите его так, как указано здесь https://www.w3schools.com/tags/att_input_type_radio.asp
затем reason_
будет храниться значение выбранной опции
def radio(request):
if request.method == "POST":
d = request.POST
for key,value in d.items():
if key == "reason":
reason_ = value