1

私は自分のウェブページに画像を表示するために約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 を使用しています。

助けてくれてどうもありがとう!

4

2 に答える 2

1

あなたのコードは URI で logolong.jpg を公開して/static/images/img/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("\\", "/")

これにより、ファイル %cd%\\img\\logolong.jpgURI /img/logolong.jpgで提供されます。

于 2012-09-14T14:33:29.590 に答える
0

この行を変更してみてください...

return """<img src="img/logolong.jpg" alt="Main Page" />"""\

この行に...

return """<img src="/logolong.jpg" alt="Main Page" />"""

アンドリュー

于 2012-09-14T13:24:49.010 に答える