我在网页上的 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/