WedX - журнал о программировании и компьютерных науках

Как передать рассчитанные значения функции Python в javascript

Я работаю над веб-приложением, которое будет принимать вопрос от пользователя из 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.

Любые предложения, как мы можем решить эту задачу?

13.08.2018

  • Вы не можете передать функцию Python, работающую на сервере, в Javascript, работающий в клиентском браузере. Существуют также библиотеки для анализа даты Javascript, вместо этого возьмите одну из них. 13.08.2018
  • Разве вы не можете заставить myFunction принять дату в качестве аргумента и отправить ее loadLineGraphVizContainer? Затем вам просто нужно onClick="myFunction({{ date }})" в HTML. 13.08.2018
  • onClick (или отправка формы) — это когда функция python запускается для ввода строки и преобразования ее в дату. Эта дата теперь должна быть передана JS. 13.08.2018

Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]