簡體   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