You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask框架下无法加载TradingView的chart.js蜡烛图脚本如何解决

问题原因及修复方案

1. 静态资源引用路径错误

你已将chart.js存入static文件夹,但Flask默认静态资源的访问路径前缀为/static/,你原代码中<script src="chart.js"></script>会从站点根路径寻找资源,对应路径为/chart.js,和实际资源路径不匹配。
你之前尝试使用url_for时错误填写了filename参数为style.css,自然无法加载到chart.js文件。

修复方法:

将script标签的src属性改为以下任意一种即可:

<!-- 写法1:用Flask提供的url_for动态生成路径(推荐) -->
<script src="{{ url_for('static', filename='chart.js') }}"></script>

<!-- 写法2:硬编码静态资源路径 -->
<script src="/static/chart.js"></script>

请先确认你的项目目录结构符合要求:

项目根目录/
├── app.py(你的Python启动文件)
├── templates/
│   └── index.html
└── static/
    └── chart.js

2. 内联脚本存在语法错误,阻塞后续脚本执行

你当前页面的内联脚本存在两处致命错误,会触发浏览器抛出异常,导致后续的chart.js脚本不会被执行:

  • 你注释了var binanceSocket = new WebSocket(...)这行声明代码,但后续仍执行console.log(binanceSocket),访问未定义变量会抛出ReferenceError
  • 注释块末尾多了孤零零的AbortController字符串,属于无效语法

修复方法:

替换内联脚本为以下内容:

<script>
// 提前声明变量避免未定义报错
var binanceSocket;
//var binanceSocket = new WebSocket('wss://stream.binance.com:9443/ws/bnbusdt@trade');
console.log(binanceSocket)

var tradeDiv = document.getElementById('trades')

/*
binanceSocket.onmessage = function (event) {
    console.log(event.data);
    var messageObject = JSON.parse(event.data)
    tradeDiv.append(messageObject.p)
}
*/
</script>

3. 可选修复:无效HTML标签

你代码中<int type='text' id='rsi_oversold'>是无效标签,会导致表单渲染异常,建议改为标准input标签:

<input type='text' id='rsi_oversold' name='rsi_oversold' placeholder="30"/>

内容的提问来源于stack exchange,提问作者Yohannes Cahyadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:06:01