javascript - 如何从外部 JS 文件调用 Python 函数?

标签 javascript python html flask

我在网页上的 uploader 中使用了一些 Javascript 的东西,为了测试它,我将它与 HTML 内联编写(我知道)。我正在使用带有 Jinja2 模板的 Flask,以便将我的 uploader (它只是充当一个表单)连接到我的 Python 中的上传函数,我只需

url: "{{url_for('upload_file')}}",

在内联Javascript中,因为这可以在模板范围内引用。现在我已将 JS 移至外部文件并将其包含在 HTML 中,如下所示:

<script type="text/javascript" src="{{ url_for('static', filename='uploader.js') }}">
  </script>

如何从外部 js 文件调用我的 Python 函数?是否有某种方法可以在模板中初始化它并将其传递进去,或者我在这里遗漏了一些非常基本的东西?

编辑:我最终做了一些不同的事情:

<script>
var link = "{{ url_for('upload_file') }}"
</script>
<script type="text/javascript" src="{{ url_for('static', filename='uploader.js') }}">
</script>

最佳答案

正如您所说,您需要在主文件中执行此操作。在脚本标记内,您可以在全局范围内定义对象,并将属性设置为模板调用的结果。然后您可以在脚本文件中引用该对象。

编辑

没有特殊的语法:这只是标准的 Javascript。

<script type="text/javascript">
    template_vars = {
        url: "{{url_for('upload_file')}}",
        // etc
    }
</script>

现在您的其他脚本可以访问template_vars.url等。

关于javascript - 如何从外部 JS 文件调用 Python 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21973982/

相关文章:

php - 在 mysql 表中上传大约 10,000,000 条记录的大型 CSV 文件也包含重复行

python - Pywinauto - 无法使用 UIA 后端连接到办公文档

javascript - Ant Design,如何自定义Steps组件

jQuery animate 忽略 z-index 错误

javascript - 按星期几更改类(class)

javascript - AngularJS - 单元测试时无法在脚本标记中找到指令模板

javascript - JSON.parse 将数字作为字符串不会引发错误

c# - 带有鼠标悬停的列标题的 gridView 定义

python-rrdtool,如何在 UTC 时区创建图表

python - 在 SQL 中复制 pd.merge 的结果?