最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python web基礎(chǔ)之加載靜態(tài)文件實(shí)例

 更新時(shí)間:2018年03月20日 10:18:18   作者:lowphper  
下面小編就為大家分享一篇python web基礎(chǔ)之加載靜態(tài)文件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在web運(yùn)行中很重要的一個(gè)功能就是加載靜態(tài)文件,在django中可能已經(jīng)給我們?cè)O(shè)置好了,我們只要直接把模板文件

放在templates就好了,但是你知道在基礎(chǔ)中,像圖片是怎么加載以及找到相應(yīng)位置的嗎?

下面我們來看看。

在上篇文章中我把,靜態(tài)文件的路徑單獨(dú)出來在這里說說了,正好說說全局變量request的作用。

首先,我們寫前端圖片的路徑:

<img src="/static?file=1.gif"/> 

看到這里,可能已經(jīng)有人看出來了,對(duì)的,我們把圖片路徑看成url路徑和參數(shù)。

這里要說下,當(dāng)瀏覽器看到img標(biāo)簽,它會(huì)給服務(wù)器發(fā)請(qǐng)求,所以路徑相當(dāng)于:

127.0.0.1/static?file=1.gif

懂了吧,實(shí)際上就是請(qǐng)求的路徑是static,參數(shù)是file = 1.gif

然后這里我們有個(gè)函數(shù)parse_path(),

def parsed_path(path): 
 """ 
 /ss?message=hello world&author=fei 
 返回如下字典形式 
 { 
  'message': 'hello world', 
  'author': 'fei', 
 } 
 """ 
 index = path.find('?') 
 if index == -1: 
  return path, {} 
 else: 
  path, query_string = path.split('?', 1) 
  args = query_string.split('&') 
  query = {} 
  for arg in args: 
   k, v = arg.split('=') 
   query[k] = v 
  return path, query 

把路徑傳進(jìn)去,就會(huì)把file和1.gif傳進(jìn)request里,如下

{ 
 'file' = '1.gif', 
} 

這樣,我們就把參數(shù)化為字典形式,然后

r = { 
  '/static': route_static, 
 } 

當(dāng)請(qǐng)求的路徑為static是就會(huì)轉(zhuǎn)向route_static函數(shù),這個(gè)函數(shù)寫在路由里,所以我們需要引入一下

response = r.get(path, error) 
return response(request) 

這樣,顯示圖片就會(huì)轉(zhuǎn)向route_static函數(shù)。

我們看下這個(gè)函數(shù):

def route_static(request): 
 """ 
 靜態(tài)資源的處理函數(shù), 讀取圖片并生成響應(yīng)返回 
 """ 
 filename = request.query.get('file', '1.gif') 
 path = 'static/' + filename 
 with open(path, 'rb') as f: 
  header = b'HTTP/1.1 200 OK\r\nContent-Type: image/gif\r\n\r\n' 
  img = header + f.read() 
  return img 

我們看下,下面這句話

filename = request.query.get('file', 'ceshi.gif') 

這樣filename就會(huì)去request的query里找file鍵,如果有就返回,如果沒有就返回ceshi.gif

然后就是同樣的套路,讀取,然后返回。

這樣,一個(gè)把靜態(tài)文件放在指定位置,并讀取,就完成了

以上這篇python web基礎(chǔ)之加載靜態(tài)文件實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python異常處理之常見異常類型絕佳實(shí)踐詳解

    Python異常處理之常見異常類型絕佳實(shí)踐詳解

    這篇文章主要為大家介紹了Python異常處理之常見異常類型絕佳實(shí)踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • PyTorch 對(duì)應(yīng)點(diǎn)相乘、矩陣相乘實(shí)例

    PyTorch 對(duì)應(yīng)點(diǎn)相乘、矩陣相乘實(shí)例

    今天小編就為大家分享一篇PyTorch 對(duì)應(yīng)點(diǎn)相乘、矩陣相乘實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python使用open函數(shù)對(duì)文件進(jìn)行處理詳解

    python使用open函數(shù)對(duì)文件進(jìn)行處理詳解

    今天看了open函數(shù),看到w+ r+ a+ 這種可讀可寫的操作,下面這篇文章主要給大家介紹了關(guān)于python使用open函數(shù)對(duì)文件進(jìn)行處理的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Python字典 dict幾種遍歷方式

    Python字典 dict幾種遍歷方式

    這篇文章主要給大家分享的是Python字典 dict幾種遍歷方式,文章主要介紹使用 for key in dict遍歷字典、使用for key in dict.keys () 遍歷字典的鍵等內(nèi)容,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11
  • Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Django是一個(gè)基于Python Web框架的高級(jí)Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。本文將創(chuàng)建一個(gè)待辦事項(xiàng)應(yīng)用程序,以了解Django的基礎(chǔ)知識(shí),感興趣的可以嘗試一下
    2022-10-10
  • 用基于python的appium爬取b站直播消費(fèi)記錄

    用基于python的appium爬取b站直播消費(fèi)記錄

    因工作需要,需要爬取相關(guān)數(shù)據(jù),之前是爬取網(wǎng)頁數(shù)據(jù),可以用python的requests和Selenium進(jìn)行爬取。但b站的直播消費(fèi)數(shù)據(jù)網(wǎng)頁版不能顯示,只能在手機(jī)上看到,所以就有了這篇文章。需要的朋友可以參考下
    2021-04-04
  • Python如何把字典寫入到CSV文件的方法示例

    Python如何把字典寫入到CSV文件的方法示例

    這篇文章主要介紹了Python如何把字典寫入到CSV文件的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 通過python爬蟲賺錢的方法

    通過python爬蟲賺錢的方法

    在本篇文章里小編給大家分享了關(guān)于通過python爬蟲賺錢的方法,有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • Python中使用pip換源的流程分析

    Python中使用pip換源的流程分析

    pip是一個(gè)用于安裝、升級(jí)和管理Python庫的工具,它允許你從Python包索引(PyPI)下載和安裝第三方庫,在Python開發(fā)過程中,我們經(jīng)常需要安裝各種第三方庫,本文給大家分享Python中使用pip換源的詳細(xì)指南,感興趣的朋友一起看看吧
    2024-12-12
  • python之matplotlib矢量圖svg?emf

    python之matplotlib矢量圖svg?emf

    這篇文章主要介紹了python之matplotlib矢量圖svg?emf,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

邵武市| 广水市| 台东县| 宿迁市| 黑龙江省| 长顺县| 太白县| 高碑店市| 苗栗市| 锡林浩特市| 广德县| 瓦房店市| 榆林市| 双辽市| 六枝特区| 莱芜市| 隆德县| 赣榆县| 新安县| 百色市| 南和县| 呼伦贝尔市| 九江市| 绥芬河市| 德庆县| 达日县| 宜丰县| 金湖县| 辉县市| 剑川县| 泰来县| 扎囊县| 宣武区| 莫力| 鹿泉市| 三台县| 舞钢市| 通化市| 永善县| 双牌县| 拉萨市|