繁体   English   中英

如何访问链接到 tornado Web 服务器中使用的 html 的外部 css 文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM