javascript - 将变量从 Flask 传递到 JavaScript

标签 javascript python flask pubnub

我查看了类似的论坛,但无法让任何解决方案发挥作用。我正在尝试将变量从 Flask 传递到我的 JavaScript 文件。然后这些值将用于我的 JavaScript 文件中的 PubNub。

这是我的 Python 代码的一部分:

@app.route("/mysettings/")
def user_settings(): 
        return render_template('Settings.html',  project_name = session['project_name'] , publish_key = session['publish_key'] , subscribe_key = session['subscribe_key'] )

这是我的 JavaScript 代码 (app.js) 的一部分:

var settings = {
        channel: {{project_name}},
        publish_key: {{publish_key}},
        subscribe_key: {{subscribe_key}}
    };

如果我在我的 Settings.html 文件中使用此代码而不是在 app.js 文件中使用此代码。

最佳答案

mobiusklein答案非常好,但是您应该考虑“黑客”。定义您的 Javascript 方法以接收参数并将数据作为参数发送到您的函数。

ma​​in.py

@app.route('/')
def hello():
    data = {'username': 'Pang', 'site': 'stackoverflow.com'}
    return render_template('settings.html', data=data)

app.js

function myFunc(vars) {
    return vars
}

settings.html

<html>
    <head>
         <script type="text/javascript" {{ url_for('static', filename='app.js')}}></script>
         <script type="text/javascript">
            myVar = myFunc({{data|tojson}})
         </script>
    </head>
</html>

关于javascript - 将变量从 Flask 传递到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259740/

相关文章:

javascript - 保护外部JS文件

javascript - 单击时更改链接的 href 属性

python - 访问元组的元素

python - 在 docker 容器上运行时无法连接到 Flask

python - 从请求 flask 中获取 json

javascript - 浏览器重新评估和重新应用 CSS 选择器和样式的条件是什么?

javascript - 禁用/启用文本框 onclick 单选按钮

python速度处理每行VS block

python - 在 python 中使用 xlrd、xlwt 和 xlutils 从 excel 文件中删除行

python - 如何在 jinja2 中获取 WTForms 验证器