在web執行中很重要的乙個功能就是載入靜態檔案,在django中可能已經給我們設定好了,我們只要直接把模板檔案
放在templates就好了,但是你知道在基礎中,像是怎麼載入以及找到相應位置的嗎?
下面我們來看看。
在上篇文章中我把,靜態檔案的路徑單獨出來在這裡說說了,正好說說全域性變數request的作用。
首先,我們寫前端的路徑:
src="/static?file=1.gif"/>
看到這裡,可能已經有人看出來了,對的,我們把路徑看成url路徑和引數。
這裡要說下,當瀏覽器看到img標籤,它會給伺服器發請求,所以路徑相當於:
127.0.0.1/static?file=1.gif
懂了吧,實際上就是請求的路徑是static,引數是file = 1.gif
然後這裡我們有個函式parse_path(),
def parsed_path(path):
"""
/ss?message=hello world&author=fei
返回如下字典形式
"""
index = path.find('?')
if index == -1:
return path, {}
else:
path, query_string = path.split('?',www.cppcns.com 1)
args = query_string.split('&')
query = {}
for arg in args:
k, v = arg.split('=')
query[k] = v
return path, query 程式設計客棧
把路徑傳進去,就會把file和1.gif傳進request裡,如下
這樣,我們就把引數化為字典形式,然後
r =
當請求的路徑為static是就會轉向route_static函式,這個函式寫在路由裡,所以我們需要引入一下
response = r.get(path, error)
return response(request)
這樣,顯示就會轉向route_static函式。
我們看下這個函式:
def route_static(request):程式設計客棧
"""
靜態資源的處理函式, 讀取並生成響應返回
我們看下,下面這句話
filename = request.query.get('file', 'ceshi.gif')
這樣filenwww.cppcns.comame就會去request的query裡找file鍵,如果有就返回,如果沒有就返回ceshi.gif
然後就是同樣的套路,讀取,然後返回。
這樣,乙個把靜態檔案放在指定位置,並讀取,就完成了
本文標題: python web基礎之載入靜態檔案例項
本文位址:
Python Web 之Flask基礎(一)
flask 的基本使用 flask 1.0 文件 依賴 當安裝 flask 時,以下配套軟體會被自動安裝。可選依賴 以下配套軟體不會被自動安裝。如果安裝了,那麼 flask 會檢測到這些軟體。建立乙個專案資料夾,然後建立乙個虛擬環境。mkdir myproject cd myproject pyth...
python Web應用框架之Flask
pip install flask 以下是乙個簡單的flask應用 from flask import flask def hello world return hello world if name main 執行 python hello.py running on首先,我們匯入了 flask ...
python web框架之Tornado的簡單使用
python web框架有很多,比如常用的有django,flask等。今天主要介紹tornado tornado是乙個用python寫的相對簡單的 不設障礙的web伺服器架構,用以處理上萬的同時的連線口,讓實時的web服務通暢起來。雖然跟現在的一些用python寫的web架構相似,比如django...