[英]How to access external css file linked to html which is used in tornado web server?
我是龙卷风的新手,我正在从事一项非常基本的龙卷风网络部署工作。 我正在尝试呈现一个使用外部 css 的 HTML 文件。 但我无法加载 css。 我正在使用 VScode,所有文件都在我的资源管理器文件夹中。 这就是我试图访问 html 和 css 的方式:
import tornado.web
import tornado.ioloop
class basicRequestHandler(tornado.web.RequestHandler):
def get(self):
self.render("index.html")
class staticRequestHandler(tornado.web.RequestHandler):
def get(self):
self.render("demo.html")
if __name__=="__main__":
app=tornado.web.Application([
(r"/", basicRequestHandler),
(r"/upload", staticRequestHandler)
])
app.listen(8881)
print("listening on port 8881")
tornado.ioloop.IOLoop.current().start()
我的 demo.html 文件包含名为 design.css 的外部 css,我试图像这样访问它:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="design.css"> <!--here-->
</head>
<body>
<div class="drag-area">
<img src="a.png" width="80px" height="100px" class="center">
<h4 style="text-align: center; color: white; font-size: xx-large;" class="default">Drag and drop files here</h4>
<h4 style="text-align: center; color: white; font-size: xx-large;">OR</h4>
<input type="file" id="myfile" name="myfile" multiple class="button">
</div>
<br>
<br>
<button onClick="window.location.reload();">Refresh Page</button>
</div>
<br>
</body>
<button type="submit">UPLOAD</button>
</html>
我所有的文件(design.css、demo.html 等)都在我在 vscode 中导入的同一个文件夹中。
请帮助。
欢迎到这里。 您将需要一个静态文件处理程序,如下所示
import os
import tornado.web
import tornado.httpserver
import tornado.ioloop
import threading, Queue
print('start Webserver')
SERVER_PORT = 9090
currenPath = os.path.dirname(os.path.abspath(__file__))
resourcesPath = currenPath + '/ressources'
class IndexPageHandler(tornado.web.RequestHandler):
def get(self):
self.render("index.html")
class webApplication(tornado.web.Application):
def __init__(self):
handlers = [
(r'/', IndexPageHandler),
(r'/(.*)', tornado.web.StaticFileHandler, {'path': resourcesPath})
]
settings = {
'static_path': resourcesPath,
'template_path': 'templates'
}
tornado.web.Application.__init__(self, handlers, **settings)
if __name__ == '__main__':
ws_app = webApplication()
server = tornado.httpserver.HTTPServer(ws_app)
server.listen(SERVER_PORT);
print('Listening on ',SERVER_PORT)
tornado.ioloop.IOLoop.instance().start()
如果是简单的 css,最好使用 HTML。 如果它像 SPA,最好有缩小的文件,以免出现问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.