加载HTML页面后如何运行Python脚本?

时间:2020-10-27 20:05:37

标签: javascript python html

我想用Python创建一个变量,然后在JavaScript中用console.log()变量。我知道如何在JavaScript中访问变量,但是我不知道如何在加载页面时运行Python脚本。我该怎么办?

1 个答案:

答案 0 :(得分:1)

与Javascript不同,您不能直接在浏览器中运行Python。您将需要Python才能运行服务器端。一种可能的替代方法是使用transcrypt为仅前端解决方案生成与Python等效的javascript。

例如,transcrypt允许您将python模块“导入”到JavaScript中。在这里,一个名为hello.py的python脚本被“导入”到上下文中,可以像hello.solarSystem.greet()这样的形式被称为javascript

    <script type="module">import * as hello from './__target__/hello.js'; window.hello = hello;</script>
    <h2>Hello demo</h2>
    
    <p>
    <div id = "greet">...</div>
    <button onclick="hello.solarSystem.greet ()">Click me repeatedly!</button>
    
    <p>
    <div id = "explain">...</div>
    <button onclick="hello.solarSystem.explain ()">And click me repeatedly too!</button>

有关更多信息,请参见transcrypt文档。

否则,您可能会在此用例的后端运行Python网络服务器。像flask之类的东西。

from flask import Flask, render_template_string

app = Flask(__name__)

def do_something():
    """Returns an interesting value"""
    return "foo"

template = """
<html>
<script>
console.log('{{ value }}')
</script>
"""

@app.route('/')
def home():
    my_value = do_something()
    return render_template_string(template, value=my_value)

app.run(debug=True)