Javascript и Python - двойной вызов - PullRequest
       7

Javascript и Python - двойной вызов

0 голосов
/ 11 сентября 2018

Контекст:

Чтобы получить событие из сюжета в автономном режиме в Python, я использую Javascript в качестве среды. Я создал диаграмму, определяющую javascript из Python, а затем записываю события обратно в Python ( здесь )

Проблема:

Все шло хорошо, но теперь мне нужно, в случае моей диаграммы Plotly, сделать некоторые вычисления в Python и записать результат в Javascript. Я считаю, что это невозможно, и пытаюсь найти способ сделать это.

Пример: * +1021 ** +1023 *

Я могу упростить задачу, чтобы сделать ее понятной.

Наличие этого кода в блокноте:

from IPython.core.display import display, HTML

display(HTML('<script>var variableJS = null;</script>'))

def DefineVariableJS():
    display(HTML("""
        <script>
            variableJS = 15
            console.log(variableJS);
        </script>
    """))

def RunCode():
    display(HTML("""
        <script>
            var kernel = IPython.notebook.kernel;
            var variableJS = (variableJS)?variableJS:-1;
            cmd = 'DefineVariableJS()\\n'
                + 'variablePython1 = 10\\n'
                + 'variablePython2 = ' + variableJS
            console.log(cmd)
            kernel.execute(cmd); 
        </script>
    """))

И, запустив функцию RunCode, я получаю следующие результаты для переменных variablePython1 и variablePython2 10 и -1 . Он игнорирует вызов DefineVariableJS из Javascript.

Запуская функцию DefineVariableJS() непосредственно из Python (а не из Javascript), перед запуском RunCode я получаю результаты 10 и 15 .

Вопросы:

  • Почему я не могу использовать для отображения HTML из JavaScript?
  • Есть ли способ достичь этого?
...