Flask學習(十) - web請求
GET/POST
- 使用get/post方法需要事先在函式中引入request
from flask import request
get:
- 使用場景:僅用於向伺服器獲取資料,沒有對伺服器產生影響
- 引數在url中顯示,以?分隔跟在url之後
- 獲取引數:request.args
#url = "www.baidu.com/?key=hello" key = request.args.get('key')
post:
- 要對伺服器產生影響,例如註冊登入
- 引數以form data形式傳送給伺服器
- 獲取引數:request.form
key = request.form.get('key')
-
注意:
post請求一定得在表單中設定name屬性,才能從request獲取到值,並且檢視函式中需要設定請求方法,不然預設為GET會丟擲異常
g全域性屬性
- 使用g屬性需要事先在函式中引入g模組
from flask import g #設定和呼叫 g.key = "hello"
- 一次請求的所有地方皆可使用,類似於設定全域性屬性,設定的屬性只要是在當前請求中,任意位置都可以通過g.param_name獲取
- 專門用於儲存使用者資料
鉤子函式
- before_request
- 在請求之前執行
- 在檢視函式之前執行
- 只是一個裝飾器,用於設定函式
@before_request def index(): function_content
- context_processor
- 上下文處理器應該返回一個字典,字典的key會被模板當做變數渲染
- 上下文處理器中返回的字典所有頁面都可用,例如在index函式中返回了{user:hello},則此資料在渲染的所有頁面皆可使用
@context_processor def index(): function_content