Tornado-網(wǎng)頁(yè)模版和靜態(tài)文件

1.手工創(chuàng)建文件夾用于存放網(wǎng)頁(yè)模板以及靜態(tài)文件

image.png

2.實(shí)現(xiàn)代碼

demo.py

"""
    tornado web app對(duì)于網(wǎng)頁(yè)模板的處理和靜態(tài)文件的操作
    網(wǎng)頁(yè)模板:html頁(yè)面
    處理:定義html頁(yè)面、渲染html頁(yè)面,響應(yīng)html頁(yè)面[瀏覽器]
    靜態(tài)資源:圖片/js/css/字體...
    操作:配置靜態(tài)資源、查詢(xún)靜態(tài)資源[html]、響應(yīng)數(shù)據(jù)
"""

# 引入需要的模塊
from tornado.web import Application, RequestHandler
from tornado.ioloop import IOLoop
from tornado.options import define, options, parse_command_line
from tornado.httpserver import HTTPServer
import os.path

# 定義變量
define("port", default=8000, help="默認(rèn)端口8000")


# 創(chuàng)建視圖類(lèi)
class IndexHandler(RequestHandler):
    def get(self):
        msg = "hello,零"
        self.render("index.html", info=msg)


# 程序入口
if __name__ == '__main__':
    # 開(kāi)始監(jiān)聽(tīng)
    parse_command_line()
    app = Application(
        [
            (r'/', IndexHandler)
        ],

        # 項(xiàng)目配置信息
        # 網(wǎng)頁(yè)模板
        template_path=os.path.join(os.path.dirname(__file__), "templates"),
        # 靜態(tài)文件
        static_path=os.path.join(os.path.dirname(__file__), "static"),

        debug=True
    )

    # 部署
    server = HTTPServer(app)
    server.listen(options.port)

    # 輪詢(xún)監(jiān)聽(tīng)
    IOLoop.current().start()

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--<link rel="stylesheet" href="/static/css/index.css">-->
    <link rel="stylesheet" href="{{static_url('css/index.css')}}">
</head>
<body>
<h1>hello</h1>
<h1>{{info}}</h1>

</body>
</html>
注意:

Tornado模板模塊提供了一個(gè)叫作static_url的函數(shù)來(lái)生成static目錄下文件的URL。

在index.html中static_url的調(diào)用的示例代碼:
<link rel="stylesheet" href="{{static_url('css/index.css')}}">

這個(gè)對(duì)static_url的調(diào)用生成了URL的值,并渲染輸出類(lèi)似下面的代碼:

 <link rel="stylesheet" href="/static/css/index.css">
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 譯者說(shuō) Tornado 4.3于2015年11月6日發(fā)布,該版本正式支持Python3.5的async/await...
    TaoBeier閱讀 3,176評(píng)論 0 10
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,393評(píng)論 22 257
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • tornado框架是一款相較于其他web framework處理服務(wù)器性能問(wèn)題更加強(qiáng)健的輕量級(jí)的強(qiáng)大的Pytho...
    惡人未滿(mǎn)閱讀 7,415評(píng)論 3 10
  • 今天女生節(jié)啦,祝全天下每一個(gè)小姐姐都能幸福快樂(lè)。永遠(yuǎn)都不會(huì)迷路,想買(mǎi)的衣服永遠(yuǎn)都有貨。一個(gè)人走路總會(huì)有路燈相伴,不...
    杏筆閱讀 280評(píng)論 0 3

友情鏈接更多精彩內(nèi)容