个人能建电商网站吗,深圳哪个招聘网站好,公司内部网站维护,网站开发赚钱的方法https://www.cnblogs.com/notzy/p/9187304.html
一、配置SECRET_KEY
因为flask的session是通过加密之后放到了cookie中。所以有加密就有密钥用于解密#xff0c;所以#xff0c;只要用到了flask的session模块就一定要配置“SECRET_KEY”这个全局宏。一般设置为24位的字符。…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就像字典一样所以操作它的时候有两种方法
1result session[‘key’] 如果内容不存在将会报异常2result 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 timedelta2.配置有效期限app.config[PERMANENT_SESSION_LIFETIME] timedelta(days7) # 配置7天有效3.设置session.permanent True1 #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(days7) # 配置7天有效
10
11
12 # 设置session
13 app.route(/)
14 def set():
15 session[username] liefyuan
16 session.permanent True
17 return success