Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从本地python服务器加载映像?_Python_Html_Server_Localhost_Http Status Code 404 - Fatal编程技术网

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

如何从本地python服务器加载映像?,python,html,server,localhost,http-status-code-404,Python,Html,Server,Localhost,Http Status Code 404,我正在尝试学习如何使用服务器进行网站开发。我一开始不太懂Python,但它似乎是最简单的方法。到目前为止,当我直接打开index.html文件时,我能够获得要加载的图像资源,但是当我通过本地Python服务器加载它时,只有纯文本加载到浏览器 我相信我已经编写了正确的HTML,因为当我直接从硬盘打开它时,它会正确加载。我认为需要更新Python服务器代码,以便它能够理解图像文件的位置。我当前的文件结构如下所示: projectRoot …资产 ……字体 ……图像 ……模拟绘图.png …html

我正在尝试学习如何使用服务器进行网站开发。我一开始不太懂Python,但它似乎是最简单的方法。到目前为止,当我直接打开index.html文件时,我能够获得要加载的图像资源,但是当我通过本地Python服务器加载它时,只有纯文本加载到浏览器

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

projectRoot
…资产
……字体
……图像
……模拟绘图.png
…html
……index.html
……server.py
…脚本

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

$ cd projectroot/html  
$ python3 server.py
然后,我在浏览器中打开一个新选项卡并键入:

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

导入http.server
导入socketserver
端口=8080
Handler=http.server.SimpleHTTPRequestHandler
将socketserver.TCPServer((“”,PORT),Handler)作为httpd:
打印(“在端口服务”,端口)
httpd.永远为你服务()
这是index.html文件:


标题
这是从Python服务器接收的
我希望加载图像(这是我打算最终使网站看起来如何的图形),但到目前为止,它只在Firefox中显示alt文本,在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 -

我怀疑这可能是因为您使用相对路径,尝试使用绝对路径。但是可能是错误的。@MichaelT如果绝对路径是指从硬盘根目录启动src路径名,那么我已经尝试过了,结果仍然是一样的。绝对值是指从
http://localhost:8080/
。如果图像不能从
localhost:8080
获得,浏览器将不会加载图像。当它从服务器获取HTML时,无法直接从磁盘加载图像。有人可能会创建代码,窃取您的密码、裸体图像等。@furas当我在我的浏览器(Firefox)中键入这些内容时,它会自动将其更改回简单的localhost:8080。同样的事情也发生在狩猎中。我需要在Python代码中指定吗?您的服务器只能从文件夹
html
发送文件-因此您必须将图像放入该文件夹。如果磁盘上有
home/image.jpg
,那么您可以使用
或更短的
我怀疑可能是因为您使用了相对路径,请尝试使用绝对路径。但是可能是错误的。@MichaelT如果绝对路径是指从硬盘根目录启动src路径名,那么我已经尝试过了,结果仍然是一样的。绝对值是指从
http://localhost:8080/
。如果图像不能从
localhost:8080
获得,浏览器将不会加载图像。当它从服务器获取HTML时,无法直接从磁盘加载图像。有人可能会创建代码,窃取您的密码、裸体图像等。@furas当我在我的浏览器(Firefox)中键入这些内容时,它会自动将其更改回简单的localhost:8080。同样的事情也发生在狩猎中。我需要在Python代码中指定吗?您的服务器只能从文件夹
html
发送文件-因此您必须将图像放入该文件夹。如果磁盘上有
home/image.jpg
,则可以使用
或更短的