Fetch API post data не передает данные в views.py в Django

Я создаю приложение Django и для этого пытаюсь получить доступ к данным, полученным из POST-запроса, используя JavaScript fetch API, но это не работает. Я вижу, что страница не обновляется после нажатия кнопки submit из-за e.preventDefault(); но значения не извлекаются вообще. Я не могу понять, в чем моя ошибка. Я попытался удалить все ненужные части для отладки. Пожалуйста, дайте мне знать, где я ошибаюсь.

views.py

def home(request):

    if request.method=="POST":

        options_value=request.POST['dropdown_val']

        value=request.POST['val']

        print(options_value,value)

index.html

<form method="POST" action="" id="form">

      {% csrf_token %}



      <div class="d-flex justify-content-center" style="margin-top: 6rem">

        <div class="dropdown" style="display: flex" id="dropdown">

          <select

            class="form-select"

            aria-label="Default select example"

            name="options_value"

            id="dropdown_val"

          >

            <option disabled hidden selected>---Select---</option>

            <option value="1">Profile UID</option>

            <option value="2">Employee ID</option>

            <option value="3">Email ID</option>

            <option value="4">LAN ID</option>

          </select>

        </div>

<div class="col-3 bg-light" style="margin-left: 2rem">

          <input

            type="text"

            class="form-control"

            id="in3"

            type="text"

            placeholder="Enter Value"

            name="value"

            id="value"

          />

        </div>
 <div style="margin-left: 2rem">

          <input

            class="btn btn-primary"

            type="submit"

            value="Submit"

            style="background-color: #3a0ca3"

          />

        </div>

      </div>

    </form>

<script>

      let form = document.getElementById("form");

      let dropdown_val = document.getElementById("dropdown_val");

      let val = document.getElementById("value");

      const csrf = document.getElementsByName("csrfmiddlewaretoken")[0].value;



      form.addEventListener("submit", (e) => {

        e.preventDefault();



        const newform = new FormData();

        newform.append("dropdown_val", dropdown_val.value);

        newform.append("val", val.value);

        newform.append("csrfmiddlewaretoken", csrf);

        fetch("", {

          method: "POST",

          body: newform,

        })


      .then(response => response.json())
      .then(data => {
       console.log('Success:', data);
       })
       .catch(error => {
       console.error('Error:', error);
       });

      });

    </script>

Проблема в том, что у вас 2 тега id в поле ввода:

 <input
    type="text"
    class="form-control"
    id="in3"   <--- problem is here
    type="text"
    placeholder="Enter Value"
    name="value"
    id="value"
 />

удалите id='in3' и все должно работать. Вы можете проверить эту ошибку в консоли браузера, когда вы отправляете форму.

Вернуться на верх