【发布时间】:2020-04-12 17:15:51
【问题描述】:
我正在尝试使用 Flask 构建一个非常简单的 web 应用程序来与我的 python 国际象棋引擎下棋。但是,我是 javascript、html 和 css 的新手,我无法让 chessboard.js 棋盘图像显示在我的浏览器中。 这是我的 html 正文代码 sn-p (脚本链接行实际上位于 head 部分)。非常简单,没有输入或任何东西。我只是想让图像显示出来! '''
<link rel="stylesheet" href="css/chessboard-0.3.0.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="js/chessboard-0.3.0.min.js"></script>
<div id="board"></div>
<button id="startBtn">Start Position</button>
<script>
var board = Chessboard('board', 'start')
$('#startBtn').on('click', board.start)
</script>
我已经包含了所有必需的脚本链接(或者我相信在阅读了无数教程和文档之后),并且我还拥有来自最新 chessboard.js 下载的所有 css/、js/ 和 img/ 文件夹,与这个 html 文件(就像我在教程中读到的一样)。
当您使用 Flask 打开浏览器时,所有显示在我的浏览器中的是文本和“开始位置”按钮(单击它时无效)。
为什么棋盘图像没有显示在我的浏览器 (Firefox) 中?
我是否需要以任何方式修改 img 文件夹或 .js 文件? 我的 HTML 有什么问题,还是我需要用 JS 做一些额外的事情?
编辑: 我刚刚意识到我现在从 Flask 启动时遇到了这些错误:
“GET /css/chessboard-0.3.0.min.css HTTP/1.1”404 -
“GET /js/chessboard-0.3.0.min.js HTTP/1.1”404 -
但是,当我在浏览器中打开 HTML 文件时,它工作得很好(在我修复了一些权限问题之后)并且显示了板图像。这似乎是 Flask 实现的问题,所以这是我的代码
app = Flask(__name__)
@app.route("/")
def index():
return render_template('home.html')
@app.route("/chessgame")
def chessgame():
return render_template('chessgame.html')
if __name__ == "__main__":
app.run(debug = True)
总而言之,我已经尝试了所有我能想到的方法,并为此花费了很多时间,因此非常感谢任何帮助!
最好的问候,
提姆
【问题讨论】:
-
如何进入这个页面?您是直接从本地计算机打开吗?您使用的是哪个 HTTP 服务器?
-
感谢您的评论!到目前为止,我已经尝试直接在我的机器上打开它(只需双击文件)或在我的网站的 Flask 应用程序中,也在我的机器上。在这两种情况下,图像都不会出现。 “哪个 HTTP 服务器”到底是什么意思?
标签: javascript html http flask chessboard.js