Я занимаюсь разработкой личного проекта, в котором учительские учетные записи могут создавать собственные экзамены с несколькими вариантами ответов для учетных записей учащихся.Одним из атрибутов класса экзамена является exam_time
, целочисленный атрибут, который определяет, сколько минут предоставляется студентам при сдаче экзамена.Когда ученик начинает проводить экзамен, в классе ученика есть два важных поля, одно из которых running_exam
, которое устанавливает идентификатор экзамена, который студент в настоящее время проводит, а другое - exam_time
, целое число, в котором хранится количество секунд.осталось для этого студента.
def start_exam(request, exam_id):
exam = Exam.objects.get(id=exam_id, students=Student.objects.get(email=request.user.email))
if exam:
Student.objects.filter(email=request.user.email).update(
doing_exam=exam.id,
exam_time=exam.time*60,
)
return etc...
Теперь мне нужен способ вызывать событие для каждой секунды, чтобы обновить поле exam_time
студента, вычитая -1 для каждой секунды и проверяя, не находится ли оно в 0.Другим способом было бы сделать это с помощью JavaScript, но он, возможно, очень уязвим, так как это чистый интерфейс.Предложения?