当前位置: 首页 > 知识库问答 >
问题:

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

壤驷骁
2023-03-14

在我的烧瓶应用程序中。如果页面的路径为http://example.com/product/6。我无法将js文件导入此页面的html文件,如下所示:

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

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


共有2个答案

夹谷浩博
2023-03-14
匿名用户

您应该使用的url\u为静态资产生成url。

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

寿意远
2023-03-14

你应该让你的静态资源使用根目录(如果你把它们都放在那里)。

所以如果你的目录是这样的:

.
├── app.py
└── static
    ├── css
    ├── img
    └── js
        └── main.js

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

例如

仅供参考-您应该使用诸如apache或nginx之类的web服务器来为静态文件提供服务器,因为它们比Flask更擅长于此。

 类似资料:
  • 我正在使用Python和Flask构建一个简单的交互web应用程序。使用Chrome在localhost:5000上进行测试。 我有一个模板和一个相关的javascript文件,位于:./templates/main.html./templates/main_scripts.js main.html模板包含如下脚本文件: 当我使用此Python代码呈现模板时。。。 main.html页面已呈现,但

  • 问题内容: 我想从Java Web应用程序读取文件。我不想提供文件的绝对路径。我只想将文件放在Web应用程序的某个目录中。 要么 可以将其与.war文件(打包的Web应用程序)一起放置。 给文件的相对路径。我试过了,但是没有用。 ======== 更新 ======== 我将向客户交付文件(打包的Web应用程序)。该Web应用程序将读取一个文件(让我们说),该文件将由客户端复制到服务器。因此,我需

  • 问题内容: 在我的烧瓶应用程序中,我每次启动时都会重新创建一个sqlite数据库。 为此,我使用官方网页上显示的代码 我的项目结构如下所示 现在我的StubbyServer.py包含: 如果我的工作目录是命令运行正常 如果我的工作目录是命令,则失败并显示: 在get_db中的文件“ app / StubbyServer.py”中,第43行 带有open(’ schema.sql ‘,mode =’

  • 问题内容: 我希望我的Web应用程序使用以下路径登录文件:webapp / logs / 我可以在log4j.properties文件中设置绝对路径,但是生产环境的目录结构将有所不同。有什么办法可以做到吗? 这是我的方法: 这是将日志打印到我的eclipse目录(c:// eclipse)中名为log.log的文件中。我正在使用Tomcat 6。 问题答案: log4j能够扩展系统属性,因此,如果

  • 问题内容: 因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET Dev环境中使用,但是当部署到虚拟目录中的服务器时则无法使用。 这在外部.js文件中,文件夹结构为 然后这就是js文件所在的位置 我已经尝试过使用,但也不起作用;但是,如果使用,它似乎可以在服务器上工作。 基本上,我希望具有与ASP.NET tilda-相同的功能。

  • 问题内容: 我正在开发Flask扩展名,我想从该扩展名在文件系统上项目的根路径中创建目录。 假设我们有这个目录结构 my_folder应该由扩展名动态创建,扩展名是一个测试实用程序,并将被测试的应用程序包装在/ tests目录中。但是,我正在努力确定扩展中项目的根路径。 现在,我试图从运行文件中猜测路径: 一旦在IDE中而不是manage.py中运行测试,这显然会中断。我可以简单地推断出相对于ap