tornado模板與靜態資源

2021-08-19 21:59:50 字數 3389 閱讀 5034

現在有乙個預先寫好的靜態頁面檔案 (

), 我們來看下如何用tornado提供靜態檔案。

#類似檢視類,區分使用者的請求方式

define("port",default=8000,type=int)

class indexhandler(requesthandler):

"""主路由處理類"""

##對於不同的請求方式,我們用不同的方法

def get(self):

"""對應http的get請求方式"""

self.write('itcast')

class itcasthandler(requesthandler):

def get(self):

self.write(dict(a=1,b=2))

current_path = os.path.dirname(__file__)

print(current_path)

if __name__ == "__main__":

##新建乙個類,新增路由對映

tornado.options.parse_command_line()

(r"/", indexhandler),(r"/itcast",itcasthandler),

],#靜態檔案路徑

我們再看剛剛訪問頁面時使用的路徑這中url顯然對使用者是不友好的,訪問很不方便。我們可以通過tornado.web.staticfilehandler來自由對映靜態檔案與其訪問路徑url。

tornado.web.staticfilehandler是tornado預置的用來提供靜態資源檔案的handler。

urrent_path = os.path.dirname(__file__)

#print(str(current_path))

if __name__ == "__main__":

##新建乙個類,新增路由對映

tornado.options.parse_command_line()

(r'^/()$', staticfilehandler, ),

],#靜態檔案路徑

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

debug=true

)

現在,對於靜態檔案statics/html/index.html,可以通過三種方式進行訪問:

[(r'/', indexhandler)],

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

template_path=os.path.join(os.path.dirname(__file__), "templates"),

)在這裡,我們設定了乙個當前應用目錄下名為templates的子目錄作為

template_path

的引數。在handler中使用的模板將在此目錄中尋找。

現在我們將靜態檔案目錄statics/html中的index.html複製乙份到templates目錄中,此時檔案目錄結構為:

在handler中使用render()方法來渲染模板並返回給客戶端。這裡是後端渲染

class

indexhandler

(requesthandler):

defget

(self):

self.

render("index.html") # 渲染主頁模板,並返回給客戶端。

)

注意:1 :模板通過呼叫後端的資料進行填充後返回給前端。這也就是前後單分離。

2:前後端都有模板,前端可以從js中拿取資料。

Tornado 靜態和模板檔案的配置,模板語言

提神個醒腦!r indexhandler static path os.path.join os.path.dirname file static 配置靜態檔案路徑 在這裡,我們設定了乙個當前應用目錄下名為statics的子目錄作為static path的引數。現在應用將以讀取statics目錄下的...

tornado入門 模板

繼承與重寫 error this text is not shown 其他用法 自帶linkify 將在頁面顯示鏈結 自定義方法 在handler裡定義函式,新增到self.ui字典 class homehandler tornado.web.requesthandler def test stri...

tornado模板搭建

開啟cmder,建立乙個目錄,把專案clone下來。windows環境下,用 python3.8作為直譯器比較麻煩,需要在檔案中新增一些配置才能把torado執行起來,這個在官方檔案裡頭有說明。所有這邊用python3.6的版本來建立。首先在window環境配置中,把python3.6的配置移動到p...