Как проверить, выбрана ли радиокнопка, используя 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
Вернуться на верх