摘要:提供了兩種方式進(jìn)行配置靜態(tài)文件路徑與服務(wù)器本地路徑的關(guān)聯(lián)關(guān)系。通常這些靜態(tài)文件的目錄與網(wǎng)站的代碼文件有某種相對關(guān)聯(lián)關(guān)系,可以通過下面這樣的方法將該參數(shù)設(shè)置為相對路徑此處寫入映射即指定靜態(tài)目錄為本程序文件所在目錄的子目錄。
上一篇文章:Python:Tornado 第四章:Tornado網(wǎng)站部署:第一節(jié):調(diào)試模式
下一篇文章:Python:Tornado 第四章:Tornado網(wǎng)站部署:第三節(jié):運(yùn)營期配置
靜態(tài)文件下載是大多數(shù)網(wǎng)站必備的功能,與靜態(tài)文件相關(guān)的開發(fā)工作有兩類:配置靜態(tài)文件路徑和優(yōu)化靜態(tài)文件訪問。
1、配置靜態(tài)文件路徑配置靜態(tài)文件路徑的目的在于為客戶端提供靜態(tài)文件的可訪問性。Tornado提供了兩種方式進(jìn)行配置靜態(tài)文件URL路徑與服務(wù)器本地路徑的關(guān)聯(lián)關(guān)系。
(1)static目錄配置在tornado.web.Application的構(gòu)造函數(shù)中可以傳入static_path參數(shù),用于配置對URL路徑http://mysite.com/static中文件的本地路徑,比如:
import tornado def make_app(): return tornado.web.Application([ #此處寫入映射 ], static_path="C:wwwstatic" )
這將使諸如http://mysite.com/static/favorite.png、http://mysite.com/static/css/main.cs這的文件的訪問映射到C:wwwstatic中。
通常這些靜態(tài)文件的目錄與網(wǎng)站的代碼文件有某種相對關(guān)聯(lián)關(guān)系,可以通過下面這樣的方法將該參數(shù)設(shè)置為相對路徑:
import os import tornado def make_app(): return tornado.web.Application([ #此處寫入映射 ], static_path=os.path.join(os.path.dirname(__file__),"static") )
即指定靜態(tài)目錄為本程序文件所在目錄的static子目錄。
(2)StaticFileHandler配置如果除了http://mysite.com/static目錄還有其他存放靜態(tài)文件的URL,則可以用RequestHandler的子類StaticFileHandler進(jìn)行配置,比如:
def make_app(): return tornado.web.Application([ #此處寫入映射 #這里配置了3個(gè)StaticFileHandler (r"/css/(.*)",tornado.web.StaticFileHandler,{"path":"assets/css"}), (r"/images/png/(.*)",tornado.web.StaticFileHandler,{"path":"assets/image"}), (r"/js/(.*)",tornado.web.StaticFileHandler,{"path":"assets/js","default_filename":"templates/index.html"}), ], static_path=os.path.join(os.path.dirname(__file__),"static") )
本例中除了static_path,還用StaticFileHandler配置了另外3個(gè)靜態(tài)文件目錄。
所有對http://mysite.com/css/*的訪問被映射到相對路徑assets/css中。
對http://mysite.com/images/png/*的訪問被映射到assets/images目錄中。
對http://mysite.com/js/*的訪問被映射到assets/js目錄中;該條StaticFileHandler的參數(shù)中還被配置了default_filename參數(shù),即當(dāng)用戶訪問了http://mysite.com/js目錄本身時(shí),將返回templates/index.html文件。
2、優(yōu)化靜態(tài)文件訪問優(yōu)化靜態(tài)文件訪問的目的在于減少靜態(tài)文件的重復(fù)傳送,提高網(wǎng)絡(luò)及服務(wù)器的利用效率,通過在模板文件中用static_url方法修飾靜態(tài)文件鏈接可以達(dá)到這個(gè)目的:
本例中的靜態(tài)圖像鏈接將被設(shè)置為類似/static/images/logo.png?v=5ad4e的形式,其中的v=5ad4e是logo.png文件內(nèi)容的哈希值,當(dāng)Tornado靜態(tài)文件處理器發(fā)現(xiàn)該參數(shù)時(shí),將通知瀏覽器該文件可以無限期緩存,因此避免了之后訪問該文件時(shí)的反復(fù)傳輸。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44793.html
相關(guān)文章
Python:Tornado 第四章:Tornado網(wǎng)站部署:第一節(jié):調(diào)試模式
摘要:上一篇文章第三章概念及應(yīng)用第三節(jié)客戶端編程下一篇文章第四章網(wǎng)站部署第二節(jié)靜態(tài)文件之前著重講解的編程知識點(diǎn),所有之前的例子都使用最簡單的啟動(dòng)方式運(yùn)行。 上一篇文章:Python:Tornado 第三章:HTML5 WebSocket概念及應(yīng)用:第三節(jié):客戶端編程下一篇文章:Python:Tornado 第四章:Tornado網(wǎng)站部署:第二節(jié):靜態(tài)文件 之前著重講解Tornado的編程知...
Python:Tornado 第四章:Tornado網(wǎng)站部署:第三節(jié):運(yùn)營期配置
摘要:上一篇文章第四章網(wǎng)站部署第二節(jié)靜態(tài)文件后臺運(yùn)行一般調(diào)試過程中我們使用運(yùn)行網(wǎng)站,方便我們在命令行中看運(yùn)行狀況。默認(rèn)情況下,會監(jiān)控子進(jìn)程,并在任何程序意外終止時(shí)重生。配合實(shí)現(xiàn)多進(jìn)程在中添加接受命令行參數(shù)可在配置文件中添加使用代理 上一篇文章:Python:Tornado 第四章:Tornado網(wǎng)站部署:第二節(jié):靜態(tài)文件 1、后臺運(yùn)行 一般調(diào)試過程中我們使用python app.py運(yùn)行網(wǎng)...
Python:Tornado 第三章:HTML5 WebSocket概念及應(yīng)用:第三節(jié):客戶端編程
摘要:上一篇文章第三章概念及應(yīng)用第二節(jié)服務(wù)端編程下一篇文章第四章網(wǎng)站部署第一節(jié)調(diào)試模式由于是的標(biāo)準(zhǔn)之一,所以主流瀏覽器的客戶端編程語音已經(jīng)支持的客戶端編程。此事件發(fā)生在收到了來自服務(wù)器的消息時(shí)。此事件發(fā)生在通信過程中有任何錯(cuò)誤時(shí)。 上一篇文章:Python:Tornado 第三章:HTML5 WebSocket概念及應(yīng)用:第二節(jié):服務(wù)端編程下一篇文章:Python:Tornado 第四章:T...
Python:Tornado 第二章:實(shí)戰(zhàn)演練:開發(fā)Tornado網(wǎng)站:第二節(jié):路由解析
摘要:上一篇文章第二章實(shí)戰(zhàn)演練開發(fā)網(wǎng)站第一節(jié)網(wǎng)站結(jié)構(gòu)下一篇文章第二章實(shí)戰(zhàn)演練開發(fā)網(wǎng)站第三節(jié)接入點(diǎn)函數(shù)向?qū)ο髠鬟f的第個(gè)參數(shù)路由映射列表的配置方式與類型,用正則字符串進(jìn)行路由匹配。實(shí)例參數(shù)路徑在瀏覽器輸入頁面輸出其中的是正在表達(dá)式。 上一篇文章:Python:Tornado 第二章:實(shí)戰(zhàn)演練:開發(fā)Tornado網(wǎng)站:第一節(jié):網(wǎng)站結(jié)構(gòu):HelloWorld下一篇文章:Python:Tornado ...
Python:Tornado 第二章:實(shí)戰(zhàn)演練:開發(fā)Tornado網(wǎng)站:第三節(jié):RequestHan
摘要:上一篇文章第二章實(shí)戰(zhàn)演練開發(fā)網(wǎng)站第二節(jié)路由解析下一篇文章第二章實(shí)戰(zhàn)演練開發(fā)網(wǎng)站第四節(jié)輸入捕捉需要子類繼承并定義具體行為的函數(shù)在中被稱為接入點(diǎn)函數(shù)上面的實(shí)例中的函數(shù)就是典型的接入點(diǎn)函數(shù)。 上一篇文章:Python:Tornado 第二章:實(shí)戰(zhàn)演練:開發(fā)Tornado網(wǎng)站:第二節(jié):路由解析下一篇文章:Python:Tornado 第二章:實(shí)戰(zhàn)演練:開發(fā)Tornado網(wǎng)站:第四節(jié):Reque...
發(fā)表評論
0條評論
閱讀 973·2021-11-24 09:39
閱讀 2731·2021-09-26 09:55
閱讀 14370·2021-08-23 09:47
閱讀 3587·2019-08-30 15:52
閱讀 858·2019-08-29 13:49
閱讀 1010·2019-08-23 18:00
閱讀 855·2019-08-23 16:42
閱讀 1650·2019-08-23 14:28