我尝试了大约5个小时才能在网页上显示图片。
我的代码是这样的:
import os
import cherrypy
file_path = os.getcwd().replace("\\", "/")
class Home:
def index(self):
return """<img src="img/logolong.jpg" alt="Main Page" />"""
index.exposed = True
if __name__ == "__main__":
cherrypy.server.socket_host = "127.0.0.1"
cherrypy.server.socket_port = 50505
config = {"/static":
{"tools.staticdir.on": True,
"tools.staticdir.dir": file_path,
},
"/images":
{"tools.staticdir.on": True,
"tools.staticdir.dir": file_path+"/img"}
}
cherrypy.tree.mount(Home(), "/", config=config)
cherrypy.engine.start()
cherrypy.engine.block()
我到处搜寻,并尝试一切。我正在使用Google Chrome和Windows7。
非常感谢您的帮助!
最佳答案
您的代码在URI /static/images/img/logolong.jpg
处公开logolong.jpg,但您的HTML表示应在/img/logolong.jpg
处。您需要以一种或另一种方式进行协调。要保持HTML不变并修复配置,应将其更改为:
config = {
"/img": {
"tools.staticdir.on": True,
"tools.staticdir.dir": os.path.join(file_path, "img"),
}
}
(以这种方式使用
os.path.join
意味着您可以摆脱上面的replace("\\", "/")
)这将为URI
%cd%\\img\\logolong.jpg
中的文件/img/logolong.jpg
提供服务。