日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python前端学习-----Flask进阶

發布時間:2025/3/19 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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請求的參數。

127.0.0.0:5000/?name=andy&age=18 #注意:以?開始,&來連接不同的信息

可以的到其中的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:每次請求之后調用,即使有異常。
@app.before_first_request def before_first_request():print('before_first_request')

Flask響應

當在瀏覽器中輸入一個網址時,Flask會先判斷是否可以找到與請求URL相匹配的路由,如果沒有則返回404響應。如果找到,則調用相應的視圖函數。
視圖函數的返回值構成了響應報文的主體內容。當請求成功時,返回狀態碼默認為200。
視圖函數可以返回最多由3個元素組成的元組**;響應主體、狀態碼和首部字段。**其中,首部字段可以為字典,或是兩元素元組組成的列表。
例如,最常見的響應可以只包含主體內容,示例代碼如下:

@app.route('/index') def index():

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()方法
如:(省略了其余部分)

#導入創建Response`的庫 from flask import make_response#獲取response對象 response = make_response(('登錄成功')) #將用戶名寫入Cookie response.set_cookie('username',username) return response
  • 如果沒有設置Cookie的過期時間,則在關閉瀏覽器時會自動清除
  • 清除Cookie
#設置過期時間為0,表示清除 response.set_cookie('username',",expires = 0)

Session對象

通俗理解,Session對象是對Cookie數據進行加密存儲。

設置密鑰的方法

  • app.secret_key = '密鑰’ ,密鑰有自己寫為字符串
  • app.config['SECRET_KEY'] ='密鑰'
  • 使用方法

    • 寫入Session
    session['login_in'] = True

    .Session是一個字典對象,使用上訴方法設置后,就可以根據其對應的真假來判斷

    • 取值判斷
    if session.get('login_in'):
    • 清除
    session.pop('login_in')

    自定義錯誤頁面

    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进阶的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。