【问题标题】:Cannot get js file to execute from html with Flask in PyCharm无法使用 PyCharm 中的 Flask 从 html 获取 js 文件
【发布时间】:2020-08-25 07:15:17
【问题描述】:

我正在尝试获取一个 html 页面,以使用 Flask 从主机的静态文件运行 js 脚本(因为它是一个测试项目,它是一个本地主机)并且由于某种原因,每个脚本都以 404 的形式返回 - 我m 使用这个文件结构

¬static
  ¬html
    ¬user.html
  ¬js
    ¬script.js

https://i.stack.imgur.com/vIXzr.png

我已经遵循了尽可能多的指南和其他问题来解决这个问题,但我不知道我还缺少什么。我用<script src="js/script.js"></script> 来调用它,我用src="{{url_for('static', filename='js/script.js') }}" 代替src="js/script.js,我试过只用script.js 而不是js/script.js,我试过把它放在不同的地方文件树并使用尽可能多的方式从这些地方调用它,我已经下载了插件,我查看了官方网站,解释了如何创建 html 和 js 等等......无法得到任何工作

编辑 - 解决了,出于某种原因,第 2000 次清除我的缓存修复了它。将项目复制到另一台设备,同样的问题,通过将js/script.js 替换为static/js/script.js 来修复它。这似乎不是应该的,但我猜它有效

【问题讨论】:

  • 可以使用 src = "../js/script.js"。

标签: javascript html flask http-status-code-404


【解决方案1】:

Flask 中的静态内容加载如下:

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

但在这种情况下,您的 html 模板应该位于单独的文件夹中:

static
--js
    scripts.js
templates
  user.html

文件夹templates是Flask中所有html模板的默认位置。

【讨论】:

  • 没用。我收到了127.0.0.1 - - [10/May/2020 12:06:53] "GET /userpage HTTP/1.1" 200 - 127.0.0.1 - - [10/May/2020 12:06:53] "GET /js/script.js HTTP/1.1" 404 - 回复
  • 你的 test.py 文件看起来如何?
  • 我相信相关的代码区域在这里:@app.route('/userpage') def user_page(): return app.send_static_file('templates/users.html')
  • return render_template('users.html')
  • 当我转到页面时返回 jinja2.exceptions.TemplateNotFound: users.html
猜你喜欢
  • 1970-01-01
  • 2018-04-29
  • 2021-01-16
  • 1970-01-01
  • 2020-11-22
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
相关资源
最近更新 更多