python前端学习-----Flask进阶
Flask進階
- Flask請求
- Request請求對象
- `request.args.get()`
- 獲取表單提交的信息
- 請求鉤子
- Flask響應
- json 數據格式
- Cookie 和 Session
- Cookie 對象
- Session對象
- 設置密鑰的方法
- 使用方法
- 自定義錯誤頁面
Flask請求
Request請求對象
Request請求對象封裝了從客戶端發來的請求報文,可以從其中獲取請求報文中的所有數據。請求解析和響應封裝實際上大部分是由Werk架ug完成的,Flask子類化Werkage的請求(Requestion)和響應(Response)對象,并添加了和程序相關的特定功能。
request.args.get()
該方法可以獲取GET請求的參數。
如
可以的到其中的name 和age
獲取表單提交的信息
代碼:
from flask import Flask,request,render_templateapp = Flask(__name__)@app.route('/login1',methods =['GET','POST']) # def login1():#獲取提交方式if request.method =='POST':username = request.form['username']password = request.form['password']message = f':{username} {password}'return messagereturn render_template('login1.html')if __name__ == '__main__':app.run(debug = True)- 注意:路由‘/login1’和視圖函數login1以及渲染模板中的模板名login1.html要一致。
請求鉤子
有時需要對請求進行預處理(pre processing)和后處理(posprocessing),這時可以使用Flask提供的請求鉤子(Hook),以注冊在請求處理的不同階段執行的處理函數(或稱為回調函數,即Callback)。
Flask的請求鉤子指的是在執行視圖函數前后執行的一些函數,用戶可以在這些函數里面做一些操作。Flask利用裝飾器提供了4種鉤子函數。
- before_first_request:在處理第一個請求前執行。
- before_request:在每次請求前執行。
- after_request:每次請求之后調用,前提是沒有異常。
- teardown_request:每次請求之后調用,即使有異常。
Flask響應
當在瀏覽器中輸入一個網址時,Flask會先判斷是否可以找到與請求URL相匹配的路由,如果沒有則返回404響應。如果找到,則調用相應的視圖函數。
視圖函數的返回值構成了響應報文的主體內容。當請求成功時,返回狀態碼默認為200。
視圖函數可以返回最多由3個元素組成的元組**;響應主體、狀態碼和首部字段。**其中,首部字段可以為字典,或是兩元素元組組成的列表。
例如,最常見的響應可以只包含主體內容,示例代碼如下:
json 數據格式
一般使用jsonify()函數
from flask import Flask,jsonify @app.route('/index') def index():return jsonify(name ="小米",age ="18")Cookie 和 Session
Cookie 對象
Cookie指Web服務器為了存儲某些數據(如用戶信息)而保存在瀏覽器上的小型文本數據。瀏覽器會在一定時間內保存它,并在下一次向同一個服務器發送請求時附帶這些數據。Cooks通常被用來進行用戶會話管理。
簡單來說,就是存儲臨時數據
在Flask中利用Response類提供的set_cookie()方法
如:(省略了其余部分)
- 如果沒有設置Cookie的過期時間,則在關閉瀏覽器時會自動清除
- 清除Cookie
Session對象
通俗理解,Session對象是對Cookie數據進行加密存儲。
設置密鑰的方法
使用方法
- 寫入Session
.Session是一個字典對象,使用上訴方法設置后,就可以根據其對應的真假來判斷
- 取值判斷
- 清除
自定義錯誤頁面
from flask import Flask ,request ,render_templateapp = Flask(__name__) # 實例化Flask類 app.secret_key = "mrsoft" # 設置secret_key@app.route("/") def index():'''首頁'''return render_template('index.html')@app.errorhandler(404) def page_not_found(e):return render_template('404.html'), 404if __name__ == "__main__":app.run(debug=True) # 運行程序其中404.html就是我們自己定義的錯誤界面了
- FastAPI ------框架基礎
- Flask實戰----做了一個簡易版CSDN
總結
以上是生活随笔為你收集整理的python前端学习-----Flask进阶的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python前端学习-------Fla
- 下一篇: 一套模板通吃单调栈