如何在python龙卷风上加载html图像文件

问题描述 投票:1回答:2

我想制作一些网页。但我无法在html中加载图像文件。我不知道为什么会这样。我附上了HTML代码,python龙卷风代码。你能帮我吗?

HTML文件

<!DOCTYPE html>
<html>
<body>
<p>The GIF standard allows moving images.</p>
<img src="programming.gif" alt="Computer man" style="width:148px;hei    ght:148px;">
</body>
</html>

PYTHON-TORNADO文件

import tornado.web
import tornado.ioloop
import tornado.httpserver

class Handler(tornado.web.RequestHandler):
  def get(self):
    self.render("html_image_05.html")

application = tornado.web.Application([
(r"/",Handler)
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(80)
tornado.ioloop.IOLoop.instance().start()

这是我执行此代码时的消息代码。

WARNING:tornado.access:404 GET /eh5v.files/html5video/test.jpg (127.0.0.1) 0.56ms
WARNING:tornado.access:404 GET /eh5v.files/html5video/html5ext.js (127.0.0.1) 0.41ms
WARNING:tornado.access:404 GET /eh5v.files/html5video/test.m4v (127.0.0.1) 0.48ms
WARNING:tornado.access:404 GET /eh5v.files/html5video/test.jpg (127.0.0.1) 0.34ms
WARNING:tornado.access:404 GET /eh5v.files/html5video/test.webm (127.0.0.1) 0.36ms
python html image tornado
2个回答
2
投票

我已经解决了问题。是这样。

Python文件代码(已修复)

import tornado.web
import tornado.ioloop
import tornado.httpserver

class Handler(tornado.web.RequestHandler):
    def get(self):
        self.render("html_image_05.html")

application = tornado.web.Application([
(r"/",Handler),
(r"/(programming.gif)", tornado.web.StaticFileHandler, {'path':'./'}) <--Add!
])

http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(80)
tornado.ioloop.IOLoop.instance().start()

这是将图像与html和python文件连接的解决方案。


0
投票

我在龙卷风官方文档中找到了这个。

如果将StaticFileHandler关键字参数传递给static_path,则会自动配置[A Application。可以使用static_url_prefixstatic_handler_classstatic_handler_args设置来自定义此处理程序。

当前版本为版本6.0.4

这意味着您应该能够执行以下操作:

import tornado.web
import tornado.ioloop
import tornado.httpserver

class Handler(tornado.web.RequestHandler):
  def get(self):
    self.render("html_image_05.html")

application = tornado.web.Application([
(r"/",Handler)
],

static_path = os.path.join(os.path.dirname(__file__),"static"))

http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(80)
tornado.ioloop.IOLoop.instance().start()

并且在将图像放置到static文件夹后,您可以通过说:[]来稍微更改.html文件:

<img src="static/programming.gif" alt="Computer man" style="width:148px; hei  ght:148px;">
© www.soinside.com 2019 - 2024. All rights reserved.