Flask 应用程序无法通过相对路径找到 javascript 文件?

Hoj*_*jas 5 flask

在我的 Flask 应用程序中。如果页面的路径是http://example.com/product/6. 我无法像这样在此页面的 html 文件中导入 js 文件:

<script src="js/main.js"></script>

浏览器会搜索.js中的js文件http://example.com.product/js/main.js,返回404错误。

那么,我该怎么做才能解决这个问题?

Ewa*_*wan 2

您应该让静态资源使用根目录(如果您将它们全部保存在根目录中)。

\n\n

因此,如果您的目录如下所示:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 static\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 img\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 js\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.js\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试将 a 添加/到您的 javascript URL,这样它就不会仅仅附加到页面 URL 上。

\n\n

例如<script src="js/main.js"></script>,然后将前往http://example.com/js/main.js

\n\n

仅供参考 - 您应该使用apachenginx等 Web 服务器来服务器静态文件,因为它们比 Flask 更好。

\n

  • @zwep实际上我[在不同的答案中](/sf/answers/1414916051/)写了更多信息,但基本上是为了性能(Flask一次只服务一个请求)和安全性是首要任务。它们专门设计用于处理更多流量,并可针对 SSL 终止等进行配置。 (2认同)