Я работаю над веб-приложением, которое будет принимать вопрос от пользователя из HTML-формы. Извлеките дату из строки и постройте график для даты с помощью JavaScript. Преобразование строки в дату выполняется с помощью библиотеки Python dateutil.
Например. «Каковы мои продажи на 4 июля», функция Python вернет 07-04-2018
в качестве даты, которую я затем буду использовать.
Теперь проблема заключается в передаче этой даты в качестве переменной во внешний файл JavaScript, который будет выполнять построение графика. Есть ли способ, которым я могу вызвать свою функцию Python на основе строки в форме HTML, получить дату и передать ее в JS для построения графика?
На данный момент я не использую JS и просто вызываю функцию Python из html, которая запускает новую веб-страницу после обработки строки даты:
<form class="has-text-centered" style="width:60%;"
action="{{url_for('intentHandler')}}" method="post">
Функция Python QuestionHandler определяется следующим образом:
def QuestionHandler(question):
date = dateConverter(question)
return render_template("graph.html", date = date)
Чтобы создать график на той же веб-странице после отправки вопроса, мне было рекомендовано использовать JS. Итак, после того, как мы повозились с ним, прямо сейчас HTML выглядит так:
<form action="" method="" onsubmit="myFunction()" action="{{url_for('intentHandler')}}" method="post">
<input type="search" placeholder="How can i help you ?">
</form>
<div class="buttonR">
<button id="searchButton" onclick="myFunction()">Search</button>
</div>`
Внешний файл JS содержит следующие функции:
function myFunction(){
var x = document.getElementById("latest");
if (x.style.display === "block") {
x.style.display = "none";
} else {
x.style.display = "none";
}
$(loadLineGraphVizContainer);
}
function loadLineGraphVizContainer(){
var placeholderDiv = document.getElementById("tableauIFrame");
var url = <Graphics Library URL>;
var options = {
hideTabs: true,
showVizHome: false,
width: "950px",
height: "430px",
"Date": "06/01/2016",
"Measure Name": "Sales"
};
viz = new tableau.Viz(placeholderDiv, url, options);
}
Я хотел бы, чтобы переменная даты JS генерировалась функцией QuestionHandler, а затем это значение использовалось файлом JS для построения моего графика на той же странице HTML.
Любые предложения, как мы можем решить эту задачу?