Как изменить значение, хранящееся в name, на основе предыдущего ввода от пользователя в html?

Добрый день. Я создаю сайт с использованием python django. Я пытаюсь изменить значение в таблице в базе данных, содержащей оценки студентов на основе номера студента (строка) и названия задания (столбец). У меня есть функция в файле views.py, которая использует операторы if else для изменения значения, которая работает нормально, пока имя="A1" фиксировано на A1 (в html-коде ниже) или фиксировано на любом другом имени задания, но у меня есть несколько имен заданий от A1 до A6. Я хотел бы изменить значение имени в зависимости от того, какое назначение выбирает пользователь

html-код:

<h1>Fill in student assignment marks below</h1>
   <form action= "" method="POST">{% csrf_token %}  
      <input type="text" class="field"  placeholder="student ID" name="student">
            <label for="name">Choose an Assignment:</label>
                <select name="name" id="name">
                    <option value="A1">A1</option>
                    <option value="A2">A2</option>
                    <option value="A3">A3</option>
                    <option value="A4">A4</option>
                    <option value="A5">A5</option>
                    <option value="A6">A6</option>
                 </select>
      <input type="text" class="field"  placeholder="percentage" name="A1">
        <button type="submit" class="btn">save</button>
     </form>

Ниже приведена функция view.py для обновления таблицы:

def upload_A_marks(request):
    if request.method == 'POST':
        student = request.POST['student']
        name = request.POST['name']
        print(name)
        if name == 'A1':
            A1 = request.POST["A1"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A1 = A1
            new_Amark.save()

        if name == 'A2':
            A2 = request.POST["A2"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A2 = A2
            new_Amark.save()

        if name == 'A3':
            A3 = request.POST["A3"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A3 = A3
            new_Amark.save()

        if name == 'A4':
            A4 = request.POST["A4"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A4 = A4
            new_Amark.save()

        if name == 'A5':
            A5 = request.POST["A5"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A5 = A5
            new_Amark.save()

        if name == 'A6':
            A6 = request.POST["A6"]
            new_Amark = MarksTable.objects.get(student=student)
            new_Amark.A6 = A6
            new_Amark.save()
   return render (request, "upload_A_marks.html")

Любая помощь будет оценена по достоинству :)

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