Контекст:
Чтобы получить событие из сюжета в автономном режиме в 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?
- Есть ли способ достичь этого?