在 Flask render_template 期间使用相对路径找不到 Javascript 文件 [重复]

2024-03-20

我正在使用 Python 和 Flask 构建一个简单的交互 Web 应用程序。 使用 Chrome 在 localhost:5000 上进行测试。

我有一个模板和一个关联的 javascript 文件,位于: ./模板/main.html ./templates/main_scripts.js

main.html 模板包含如下脚本文件:

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

当我使用此 Python 代码渲染模板时...

return render_template('main.html', session_id=session_id, title=sess.title)

main.html 页面已呈现,但我在 Chrome 控制台中收到此错误:

Failed to load resource: the server responded with a status of 404 (NOT FOUND)

发生错误时,使用 Chrome 控制台检查未找到的“main_scripts.js”的位置,浏览器认为它正在尝试从我的虚拟环境中加载它:

./env/Scripts/main_scripts.js

...并且不是来自与模板相同的目录。

我似乎无法强制渲染的模板了解它的脚本文件所在的位置。到目前为止,我已经尝试过像“./main_scripts.js”甚至“/appdir/main_scripts.js”这样的src路径,结果完全相同。


你首先需要创建一个static与该文件夹处于同一级别templates文件夹。然后创建一个js子文件夹并将js文件放入该文件夹中。现在您可以在 html 中调用它。
这是“Pythonic”方式:

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

正如所解释的here http://flask.pocoo.org/docs/0.12/patterns/packages/#larger-applications在官方 Flask 文档中,你的项目结构应该如下所示:

/yourapplication
    yourapplication.py
    /static
        /css
            style.css
        /js
            main_scripts.js
    /templates
        main.html
        ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Flask render_template 期间使用相对路径找不到 Javascript 文件 [重复] 的相关文章

  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你
  • 将字符串(是一个函数)转换回 Javascript 中的函数

    我在下面将此函数作为字符串 我如何将其转换回函数 我正在从 JQuery 事件中提取事件处理程序 我想将它们存储为字符串 然后将它们转换回来 因为它们将保存在 mySQL 中 function if GActiveClick return
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • 将 Python Selenium 输出写入 Excel

    我编写了一个脚本来从在线网站上抓取产品信息 目标是将这些信息写入 Excel 文件 由于我的Python知识有限 我只知道如何在Powershell中使用Out file导出 但结果是每个产品的信息都打印在不同的行上 我希望每种产品都有一条
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 如何使用 jest 通过 Promise.all 设置多次提取测试

    我在测试中使用 jest 我正在使用 React 和 Redux 并且执行以下操作 function getData id notify return dispatch gt dispatch anotherFunction Promise
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • Onblur 事件在另一个 div 的 onclick 之前触发

    如上所述 我有一个按钮 单击该按钮将打开子菜单 对于子菜单中的每个选项 都有三个元素 我认为实际上还有更多元素 但为了简单起见 将其保留为 3 我将焦点放在子菜单的主 div 白色 框架 上 Onblur 这个 div 然后我隐藏子菜单 这
  • JavaScript 中的最短路径

    几周来我一直在寻找一种在 JavaScript 中计算最短路径的方法 我一直在玩书数据结构和算法作者 格罗纳 Groner 名字恰如其分 https github com loiane javascript datastructs algo
  • 模拟节点外部模块默认使用 jest 的链式方法

    在我们的节点 CLI 中 我们有一个简单的方法 use strict const ora require ora module exports function startSpinner textOnStart color spinnerT
  • 在React组件中使用的字符串变量中插入html

    我正在为我的投资组合网站构建一个反应应用程序 目前我已经用 JSX 编写了应用程序 因此我可以添加以下内容 class Project extends React Component render return div h1 this pr
  • 在firefox上用js改变表单方法

    我需要使用 javascript jQuery 或纯 更改表单的方法属性 我的表单有 method post 我尝试用以下方法更改它 submit button click function var url input id url val
  • 使用 Numpy 进行多维批量图像卷积

    在图像处理和分类网络中 一个常见的任务是输入图像与一些固定滤波器的卷积或互相关 例如 在卷积神经网络 CNN 中 这是一种极其常见的操作 我已将通用版本任务减少为 Given 一批 N 个图像 N H W D 和一组 K 个滤镜 K H W
  • 为什么我的 PyGame 应用程序根本不运行?

    我有一个简单的 Pygame 程序 usr bin env python import pygame from pygame locals import pygame init win pygame display set mode 400
  • JavaScript 正则表达式两个标签之间的多行文本

    我编写了一个正则表达式来从 HTML 中获取字符串 但似乎多行标志不起作用 这是我的模式 我想将文本输入h1 tag var pattern div class box content 5 h1 lt lt h1 gt mi m html
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • 如何在 Qt 中以编程方式制作一条水平线

    我想弄清楚如何在 Qt 中制作一条水平线 这很容易在设计器中创建 但我想以编程方式创建一个 我已经做了一些谷歌搜索并查看了 ui 文件中的 xml 但无法弄清楚任何内容 ui 文件中的 xml 如下所示
  • 错误:模块“html”不提供视图引擎(Express)

    我正在尝试设置一个简单的路由应用程序 但在渲染页面时不断遇到错误 Error Module html does not provide a view engine 奇怪的是我已经在 app js 文件中指定了视图引擎 但仍然收到错误 app

随机推荐

  • 使用 Revit API 进行编码:减少内存使用的技巧?

    我有一个非常 普遍 的问题 我正在使用 Revit API 使用 python 进行开发 有时我会观察到 Revit 会话在测试和试验期间变得更慢 Revit 保持打开状态的时间越长 这种情况似乎发生得越多 虽然还没有到真正有问题的地步 但
  • spring 将两个验证注释合二为一

    我在用着Spring Hibernate Spring MVC 我想定义一个结合其他两个预定义验证注释的自定义约束 NotNull Size像这样 import javax validation constraints NotNull im
  • 绝对值的 SUMIF

    我有一个电子表格 其值如下 A B 10 55 x 10 05 0 55 x 7 55 88 50 x 我想要所有行的绝对总和x in B 我可以得到 x 行的总和 SUMIF B2 B100 x A2 A100 以及所有 A 列的绝对总和
  • 无法构建 gem 本机扩展 — Rails 安装

    我一直根据 edX 在线课程的说明安装 Ruby on Rails 以下是终端命令的列表 以及相关的相应输出 sudo apt get install ruby1 9 1 安装成功 wget http production cf rubyg
  • Javascript:检查重复打开的窗口

    是否可以检查同一窗口是否已打开 例如我通过 javascript 打开了一个窗口 我可以通过javascript检查它是否在另一个页面上打开吗 只是想关注已打开的页面以避免重复窗口 谢谢 Look at window open 方法 您必须
  • python 中缺少 lxml 模块?

    我想用Python docx处理word文件的库 Adocx py参考lxml 正如我假设的那样 from lxml import etree 当我启动脚本时 出现错误 No module named lxml 这是标准库吗 那么为什么没有
  • 使用版本控制同步 sftp 文件系统

    我最近开始为一个大学社团管理一个 小型 网站 显然 根据最后一个管理它的人的说法 访问该网站文件的方式是通过 SFTP 我使用 Linux Mint Nautilus 所以这没有问题 不过 我还有一个本地副本 可以在上传之前使用 Apach
  • 如何比较两个字符串的值是否相等,最好的方法是什么? [复制]

    这个问题在这里已经有答案了 总是对这个东西很困惑 有人可以帮忙吗 string1 equals string2 就是这样 它返回true if string1等于string2在价值上 否则会返回false 等于参考 http downlo
  • 如何在Acumatica发票报表(AR.64.10.00)中进行金额字段的文字表示?

    如何在Acumatica发票报表 AR 64 10 00 中进行金额字段的文字表示 在 DAC 扩展中创建一个未绑定字段ARInvoice数模转换器 并使用PX Objects AP ToWords属性 public class ARInv
  • 什么是 @RecentlyNonNull 注释?

    我正在 Android Studio 上进行代码检查 弹出以下警告 Probable bugs NotNull Nullable problems Not annotated method overrides method annotate
  • IntelliJ 12 中未识别 Struts2 标签库

    我一直在尝试一切让 IntelliJ 允许使用 Struts2 taglib 但它还是不断抱怨 IDE 中显示的错误是 无法解析 uri struts tags 我从头开始建立了一个新项目 并包含了 struts2 方面 将 struts
  • 键入提示 PyCharm 内部使用的类[重复]

    这个问题在这里已经有答案了 如何在其内部正确键入一个类 在 PyCharm 中 我当前收到此错误 这是一个未解决的参考错误 这通常是有道理的 因为我不希望 PyCharm 完美支持类型 但是 当我在除课程之外的其他课程中使用它时Item类本
  • twitter bootstrap datepicker 国际化

    我正在用这个来自 Stefan Petre 的 twitter bootstrap 风格日期选择器 http www eyecon ro bootstrap datepicker 但是 我不知道如何将日期选择器的格式设置为法语 除了直接从源
  • 为什么 Clang 不附带标准库头?

    我从下载了 Clang 3 6 2这个网站 http llvm org releases download html我正在尝试在 Windows 下使用 Code Blocks 进行设置 不幸的是 它无法编译一个简单的 hello worl
  • 使用 numpy 将 csv 加载到二维矩阵中进行绘图

    鉴于此 CSV 文件 A B C D E F timestamp 611 88243 9089 5601 5133 0 864 07514 1715 37476 765 22777 1 291111964948E12 611 88243 9
  • 无法将 Windows Phone 应用程序部署到模拟器。错误 DEP 6100 和 6200

    我创建新的默认项目 Window Phone 然后使用模拟器 Window Phone 运行它 但无论模拟器如何启动 它都不起作用 我使用 Window 8 1 64 位和 Visual Studio Professional 2013 U
  • CodeIgniter 上传大文件

    我已经设置了 codeigniter 来上传 function stage1 ini set upload max filesize 200M ini set post max size 200M ini set max input tim
  • 如何在Linux上为JNI应用程序编译动态库?

    我在用着乌班图10 10 这就是我所做的 你好 java class Hello public native void sayHello static System loadLibrary hellolib public static vo
  • Asp.Net 分页最佳实践

    我正在使用 linq to sql 来获取数据 当我在数据网格上设置页面大小并且用户选择第 2 页时 我会收到回发并重新读取所有数据以显示第二页 我怀疑应该有一种更好的方法来做到这一点 一种最终只读取我需要显示的数据的方法 我想知道是否有任
  • 在 Flask render_template 期间使用相对路径找不到 Javascript 文件 [重复]

    这个问题在这里已经有答案了 我正在使用 Python 和 Flask 构建一个简单的交互 Web 应用程序 使用 Chrome 在 localhost 5000 上进行测试 我有一个模板和一个关联的 javascript 文件 位于 模板