flask專案的基本目錄結構:
flask專案名
|_____static #靜態檔案的存放目錄
|_____templates #模板的存放目錄
|_____專案名.py
#主專案
|_____config.py
#配置檔案
#例:
#專案名.py
from flask import flask
defhello_world
():#檢視函式
return
'hello world!'
if __name__ == '__main__':
#安裝:pip install flask-script
#hello.py
from flask import flask
from flask_script import manager
defhello_world
():return
'hello world!'
if __name__ == '__main__':
manager.run() 啟動例項
修改**後,使用命令列啟動程式(python hello.py runserver
)時就可以新增引數了: –host/-h 客戶端訪問web服務的ip
–port/-p web服務的埠
-d 開啟debug
-r 自動reload,當**發生變化時自動重啟
–threaded 開啟多執行緒
-?/–help 檢視幫助資訊
將工程配置下寫在配置檔案中,利於以後的開發維護管理。
#config.py
debug = true
#設定工程為開發者
'''其他配置引數,如資料庫的配置等等
'''#工程檔案
import config
引數放在尖括號裡,可以設定引數的型別,int
,float
,path(/將不再是路徑分隔符)
,如:\,
url重定向:redirect('\《跳轉的路由》')
解析路由:url_for(檢視函式名)
,在模板中頁面跳轉也可以使用url_for()解析得到路由,放在}
中
defindex
():return
'hello world'
defadd
(ag1, arg2):
return
'arg1 +arg2 = {}'.format(arg1+arg2)
defhello
():return rendirect(url_for('index')) #路由重定向和重定向一起使用
變數名上下文
說明程式上下文
當前啟用程式的程式例項
g程式上下文
處理請求時用作臨時儲存的物件,每次請求都會重設這個變數。
request
請求上下文
請求物件,封裝了客戶端傳送的http請求中的內容
session
請求上下文
使用者會話,用於儲存請求之間需要記住的值的詞典
封裝了客戶端傳送的http請求中的內容。
request.headers 請求頭資訊,資料型別為類字典結構,可以使用.get(」)獲取資料。
#例:
defreq
():# 完整的請求url
#return request.url
# 基本路由資訊,不包含get引數
#return request.base_url
# 只包含主機和埠
#return request.host_url
# 只包含裝飾器中的路由位址
#return request.path
# 請求方法型別
#return request.method
# 客戶端ip位址
#return request.remote_addr
# 所有的請求引數(get)
#return request.args['page']
# 請求頭資訊
return request.headers['user-agent']
響應的兩種方法:
from flask import flask, request, make_response
defcookies
(): cook = request.cookies #獲得cookies
resp = make_response('set cookies') #例項乙個響應物件
resp.set_cookies('name','tom') #設定cookies
return resp
#設定秘鑰:使用session就必須設定密碼,以便用來對資料加密
defset_session
(): session['user-name'] = 'hello'
return
'設定成功'
def
get_session
():return session.get('username', 'who?')
4種鉤子裝飾器:
before_first_request:在處理第乙個請求之前執行
before_request:在每次請求之前執行。
after_request:如果沒有未處理的異常丟擲在,在每次請求之後執行
teardown_request:即使有未處理的異常丟擲,也在每次請求之後執行。
Flask學習筆記 建立乙個簡單的Flask應用
1.做好準備工作 在flask中,含有名為 init py 檔案的子目錄被視為包,可以被匯入。from flask import flask上面的指令碼從flask包中匯入了flask類,並建立了乙個應用例項。傳遞給flask類的 name 變數是乙個python預定義變數,這個變數被設定為使用它的...
Flask自學筆記(1)
命令 說明注意 pip install pipenv 從pypi 上安裝pipenv pipenv install 建立虛擬環境 虛擬環境資料夾在路徑c users 使用者名稱 virtualenvs 目錄下 pipenv shell 啟用 進入 虛擬環境 pip list 檢視當前環境安裝包 在虛...
flask學習筆記 1
from flask import flask 匯入flask模組 建立flask應用例項 傳入 name 作用是為了確定資源所在路徑 定義路由及檢視函式 定義路由通過裝飾器實現 def hello world return hello 啟動,flask程式會在乙個簡易的伺服器啟動 from fla...