Сравнение значения из поля ввода с данными модели django в js-функции
Я уже сделал приложение, которое позволяет мне учиться. Оно содержит тест с несколькими вопросами с одним правильным ответом на каждый.
class Test(models.Model):
name = models.CharField(max_length=200)
#questions = models.ManyToManyField(Question)
author = models.ForeignKey(User, on_delete=models.CASCADE, default=None, null=True, blank=True)
date_posted = models.DateTimeField(auto_now_add = True)
def get_questions(self):
return self.question_set.all()
def __str__(self):
return self.name
class Question(models.Model):
text = models.CharField(max_length=200, null=True)
test = models.ForeignKey(Test, on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add = True)
def get_answer(self):
return self.answer_set.all()
def __str__(self):
return self.text
class Answer(models.Model):
text = models.CharField(max_length=200)
question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='parent')
def __str__(self):
return self.text
Я сделал JS функцию, которая сравнивает ответ пользователя из поля ввода с правильным ответом, помещенным в html
function PointsCounter(){
var points = 0;
const elements = document.querySelectorAll('.question-container');
Array.from(elements).forEach((element, index) => {
var CorrectAnswer = (((element.querySelector('div form p')).innerHTML).toLowerCase()).trim();
var UserAnswer = (((element.querySelector('div form p input')).value).toLowerCase()).trim();
if(UserAnswer == CorrectAnswer){
points++;
}})
document.getElementById("points").innerHTML=points;
}
Вместо того, чтобы вставить правильный ответ в мой html-код:
<p id="ans" hidden>{{ question.parent.all.last }}</p>
Я хотел бы сравнить ответ пользователя с ответом из базы данных, но не знаю, как этого добиться.
То есть, я хочу передать правильный ответ в js функцию, чтобы пользователь не мог проверить ответ, просматривая html код страницы. Как я могу это сделать?