如何从本地python服务器加载图像?

时间:2019-07-15 05:52:01

标签: python html server localhost http-status-code-404

我正在尝试学习如何使用服务器进行网站开发。我对Python的了解并不多,但这似乎是最简单的方法。到目前为止,我可以直接打开index.html文件来加载图像资源,但是当通过本地Python服务器加载图像资源时,只有纯文本会加载到浏览器中。

我相信我编写了正确的HTML,因为当我直接从硬盘驱动器中打开它时,它可以正确加载。我认为Python服务器代码需要更新,以便可以了解图像文件所在的位置。我当前的文件结构如下:

projectRoot
...资产
......字体
......图像
......... mockDrawing.png
... html
...... index.html
...... server.py
...脚本

我在html文件夹中有server.py,因为我还没有弄清楚如何从脚本文件夹中使它工作。当我从服务器加载index.html时,我从终端使用以下命令:

$ cd projectroot/html  
$ python3 server.py

然后我在浏览器中打开一个新标签并输入:

localhost:8080

这是server.py文件中的代码:

import http.server
import socketserver

PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

这是index.html文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>TITLE</title>
</head>
<body>
    <h1>This is being received from a Python server</h1>
    <img src="../assets/images/mockDrawing.png" alt="Mock Drawing"/>
</body>
</html>

我希望加载图像(这是我打算最终使网站看起来如何的图),但是到目前为止,它仅在Firefox中显示替代文本,并显示“?”在Safari中。两个控制台均表示尝试查找文件时出现404错误。

编辑: 终端的输出如下:

serving at port 8080
127.0.0.1 - - [14/Jul/2019 21:22:05] "GET / HTTP/1.1" 304 -
127.0.0.1 - - [14/Jul/2019 21:22:05] code 404, message File not found
127.0.0.1 - - [14/Jul/2019 21:22:05] "GET /assets/images/mockDrawing.png HTTP/1.1" 404 -

1 个答案:

答案 0 :(得分:0)

来自 furas 的评论是正确的。您应该将图像移动到启动服务器的路径。