2016-08-22 18 views
0

firefoxから読み込んだときに動作するhtmlページがありますが、それは画像が表示されない竜巻サーバーから送信されたときです。 マイ竜巻サーバ:Python TornadoはHTMLから画像をロードしません

import tornado.ioloop 
import tornado.web 

class mainHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.render('./prop.html') 
application = tornado.web.Application([ 
    (r"/", mainHandler) 
]) 

if __name__ == "__main__": 
    application.listen(8888) 
    tornado.ioloop.IOLoop.instance().start() 

私prop.html:

<head> 
<meta charset="UTF-8" /> 
<meta name="description" content="" /> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<meta name="keywords" content="" /> 
<title>Title</title> 
<style> 



</style> 
</head> 
<body> 
<img src="./fig1.jpg" /> 
</body> 

</html> 

誰かが私を助けることができますか?

ありがとうございました。

Exception: You must define the 'static_path' setting in your application to use static_url 
ERROR:tornado.access:500 GET/(127.0.0.1) 2.52ms 

私は、この設定を設定するにはどうすればよい? 以下のコードは、結果が

<img src="/static/fig1.jpg" /> 

を期待したが

は私に次のエラーを与えたくれましたか

+0

は、以下を行います。いっその

<img src="/static/fig1.jpg" /> 

または:

application = tornado.web.Application([ (r"/", mainHandler), (r"/static/(.*)", tornado.web.StaticFileHandler, { "path": "/your/static/folder" }), ]) 

次に、あなたのHTMLを更新することができますStaticFileHandlerのパスを設定する方法については解答していませんか?さもなければ、その 'Application'オブジェクトはあなたがその値を渡す' settings'の辞書を受け入れます。 http://www.tornadoweb.org/en/stable/web.html?highlight=static_path#application-configuration –

答えて

1

竜巻は画像を特別に扱いません。

/fig1.jpgはリソースであり、ハンドラを定義していないので、Tornadoはレスポンスを生成しません。プロダクションでは、nginxのような静的ファイルを扱うために最適化されたWebサーバーを使用する必要があります。開発のために、しかし、あなたはそうのような静的なファイルを提供するためにトルネードを伝えることができます。

<img src="{{ static_url("fig1.jpg") }}" /> 
関連する問題