Как я могу отобразить результаты javascriptfunctions из одного шаблона python django в другом?

#javascript #python #django

#javascript #python #django

Вопрос:

У меня есть шаблон в моем проекте Python Django, который имеет счетчик точек на основе сценария ниже:

 function nowScrolling( last_known_scroll_position ) {
            let percentage = last_known_scroll_position / ( window_height - client_height ) 
* 100;
            progressbar.style.right = "calc( 100% - "   Math.round( percentage )   "% )";
    document.getElementsByClassName('score')[0].innerText= "Congrats! You have just earned " 
  Math.round(percentage)/2  " points!";
}
  

Интересно, как передать оценку (результат функции) на другой шаблон / страницу (профиль, который будет суммировать баллы пользователей? Большое вам спасибо!

Ответ №1:

Один из простых способов — создать поле ввода на HTML-странице, где присутствует ваш скрипт. Затем, используя javascript, установите значение поля ввода равным результату.

 document.getElementById("id_of_input_field").value = your_resu<
  

Затем с помощью метода request.get[«»] вы можете получить значение в своем views.py файл и сохраните его в базе данных.Затем вы можете отображать его везде, где захотите.

Если вы не хотите использовать базу данных для выполнения всего этого, то вот 2-й способ; Вы должны использовать localStorage функцию в javascript для сохранения значения вашего результата в локальном хранилище браузера. Обратите внимание, что у локального хранилища нет даты истечения срока действия. Так что это нормально, но это так, поскольку это функция браузера, поэтому любой может редактировать свое локальное хранилище. Вот синтаксис;

 localStorage.setItem('result', 'value_of_the_result_from_your_function');