Flask 模板引入的 JS 文件中再调用别的静态文件该怎么获取 URL 呢?

有一个项目,一个html,引用了许多js,css,json。现在把它放到flask中,问题出来了,静态资源引用各种404,放到static里也不好使,查了半天,html模板里引用的静态资源文件可以通过url_for解决路径问题,但是js中引用的js和json要怎么改呢?搜了一天也没有个解决办法,哪位大佬给指导一下,多谢多谢

想到三种方法:

  1. 直接写死路径,比如 /static/js/foo.js
  2. 在 HTML 里定义相关路径作为变量,比如 <script>var fooPath = "{{ url_for('static', filename='js/foo.js') }}"</script>
  3. 使用扩展 Flask-JSGlue 实现在 JavaScript 里调用 url_for

因为没有提供静态文件夹目录结构和相关代码,具体代码要做一些调整和测试。

多谢大佬,我查一下jsglue,因为有许多资源加载,一个一个改太麻烦了

1 Like