GET/POST
- 使用get/post方法需要事先在函數(shù)中引入request
from flask import request
get:
- 使用場景:僅用于向服務器獲取數(shù)據(jù)肯尺,沒有對服務器產生影響
- 參數(shù)在url中顯示沃缘,以?分隔跟在url之后
- 獲取參數(shù):request.args
#url = "www.baidu.com/?key=hello"
key = request.args.get('key')
post:
- 要對服務器產生影響则吟,例如注冊登錄
- 參數(shù)以form data形式發(fā)送給服務器
- 獲取參數(shù):request.form
key = request.form.get('key')
-
注意:
? ?post請求一定得在表單中設置name屬性槐臀,才能從request獲取到值,并且視圖函數(shù)中需要設置請求方法氓仲,不然默認為GET會拋出異常
g全局屬性
- 使用g屬性需要事先在函數(shù)中引入g模塊
from flask import g
#設置和調用
g.key = "hello"
- 一次請求的所有地方皆可使用,類似于設置全局屬性水慨,設置的屬性只要是在當前請求中,任意位置都可以通過g.param_name獲取
- 專門用于保存用戶數(shù)據(jù)
鉤子函數(shù)
- before_request
- 在請求之前執(zhí)行
- 在視圖函數(shù)之前執(zhí)行
- 只是一個裝飾器敬扛,用于設置函數(shù)
@before_request
def index():
function_content
- context_processor
- 上下文處理器應該返回一個字典晰洒,字典的key會被模板當做變量渲染
- 上下文處理器中返回的字典所有頁面都可用,例如在index函數(shù)中返回了{user:hello},則此數(shù)據(jù)在渲染的所有頁面皆可使用
@context_processor
def index():
function_content