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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flask中的session操作

發布時間:2023/12/9 编程问答 97 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask中的session操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cnblogs.com/notzy/p/9187304.html?

一、配置SECRET_KEY

因為flask的session是通過加密之后放到了cookie中。所以有加密就有密鑰用于解密,所以,只要用到了flask的session模塊就一定要配置“SECRET_KEY”這個全局宏。一般設置為24位的字符。配置方法一般有兩種。

配置方法一:

新建一個config.py的文件配置secret_key?
config.py

?1 SECRET_KEY = 'XXXXXXXXX'?

?

然后在主運行文件里面添加config文件里面的內容。?
main.py

1 # encoding: utf-8 2 3 from flask import Flask,session 4 import config 5 6 app = Flask(__name__)

?

配置方法二:

直接在主運行文件里面配置。配置config的時候也是和操作字典是一樣的?
main.py

1 # encoding: utf-8 2 3 from flask import Flask,session 4 5 app = Flask(__name__) 6 app.config['SECRET_KEY'] = 'XXXXX'

?

產生方法

?可以引入OS模塊中的產生一個24位的隨機字符串的函數,這種方法有個缺點,就是服務器每次啟動之后這個SECRET_KEY的值都會變。具體自己體會!

1 import os 2 3 app.config['SECRET_KEY'] = os.urandom(24) # 隨機產生24位的字符串作為SECRET_KEY

?

二、操作session –操作session就如同操作字典!

1.設置session

1 from flask import Flask,session2 import os3 4 app = Flask(__name__)5 app.config['SECRET_KEY'] = os.urandom(24)6 7 # 設置session8 @app.route('/')9 def set(): 10 session['username'] = 'liefyuan' # 設置“字典”鍵值對 11 return 'success' 12 13 if __name__ == '__main__': 14 app.run()

?

2.讀取session

?因為session就像字典一樣所以,操作它的時候有兩種方法:

  • (1)result = session[‘key’] :如果內容不存在,將會報異常
  • (2)result = session.get(‘key’) :如果內容不存在,將返回None

所以,使用第二種方法獲取session較好。

1 from flask import Flask,session2 import os3 4 app = Flask(__name__)5 app.config['SECRET_KEY'] = os.urandom(24)6 7 # 設置session8 @app.route('/')9 def set(): 10 session['username'] = 'liefyuan' # 設置“字典”鍵值對 11 return 'success' 12 13 # 讀取session 14 @app.route('/get') 15 def get(): 16 # session['username'] 17 # session.get('username') 18 return session.get('username') 19 20 if __name__ == '__main__': 21 app.run()

?

3.刪除session

1 #encoding: utf-82 3 from flask import Flask,session4 import os5 6 app = Flask(__name__)7 app.config['SECRET_KEY'] = os.urandom(24)8 9 10 # 設置session 11 @app.route('/') 12 def set(): 13 session['username'] = 'liefyuan' 14 return 'success' 15 16 17 # 讀取session 18 @app.route('/get/') 19 def get(): 20 # session['username'] 21 # session.get('username') 22 return session.get('username') 23 24 25 # 刪除session 26 @app.route('/delete/') 27 def delete(): 28 print session.get('username') 29 session.pop('username') 30 print session.get('username') 31 return 'success' 32 33 34 if __name__ == '__main__': 35 app.run()

?

4.清除session中所有數據

1 #encoding: utf-82 3 from flask import Flask,session4 import os5 6 app = Flask(__name__)7 app.config['SECRET_KEY'] = os.urandom(24)8 9 10 # 設置session 11 @app.route('/') 12 def set(): 13 session['username'] = 'liefyuan' 14 return 'success' 15 16 17 # 讀取session 18 @app.route('/get') 19 def get(): 20 # session['username'] 21 # session.get('username') 22 return session.get('username') 23 24 25 # 刪除session 26 @app.route('/delete') 27 def delete(): 28 print session.get('username') 29 session.pop('username') 30 print session.get('username') 31 return 'success' 32 33 34 # 清除session中所有數據 35 @app.route('/clear') 36 def clear(): 37 print session.get('username') 38 # 清除session中所有數據 39 session.clear 40 print session.get('username') 41 return 'success' 42 43 if __name__ == '__main__': 44 app.run()

?

三、設置session的過期時間

?如果沒有指定session的過期時間,那么默認是瀏覽器關閉后就自動結束。session.permanent = True在flask下則可以將有效期延長至一個月。下面有方法可以配置具體多少天的有效期。

  • 如果沒有指定session的過期時間,那么默認是瀏覽器關閉后就自動結束
  • 如果設置了session的permanent屬性為True,那么過期時間是31天。
  • 可以通過給app.config設置PERMANENT_SESSION_LIFETIME來更改過期時間,這個值的數據類型是datetime.timedelay類型。

使用的需求:

  • 1.在登錄網頁界面,下面有一個“記住我”選項,如果點擊了則設置session的有效期長一點。就是設置這個!

1 # 設置session 2 @app.route('/') 3 def set(): 4 session['username'] = 'liefyuan' 5 session.permanent = True # 長期有效,一個月的時間有效 6 return 'success'

?

一種更先進的配置有效期的方法:(比如配置7天有效)

  • 1.引入包:from datetime import timedelta
  • 2.配置有效期限:app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7) # 配置7天有效
  • 3.設置:session.permanent = True

1 #encoding: utf-82 3 from flask import Flask,session4 from datetime import timedelta5 import os6 7 app = Flask(__name__)8 app.config['SECRET_KEY'] = os.urandom(24)9 app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7) # 配置7天有效 10 11 12 # 設置session 13 @app.route('/') 14 def set(): 15 session['username'] = 'liefyuan' 16 session.permanent = True 17 return 'success'

?

總結

以上是生活随笔為你收集整理的Flask中的session操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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