小打小闹  

原因:session中不能储存对象,所以要将对象序列化

坑:json包 可以读取文件,但不支持对象

然后找到了jsonpickle包

 1 import jsonpickle
 2 #josn包 得往文件里写还不支持bytes
 3 
 4 class User(object):
 5     def __init__(self,u,p):
 6         self.uName = u
 7         self.uPwd= p
 8 
 9     def __str__(self):
10         return "%s--%s"%(self.uName,self.uPwd)
11     #get方法
12     def __getstate__(self):
13         data = self.__dict__.copy()
14         del data['uPwd']
15         return data
16 
17 u = User('zhangsan','123')
18 #序列化
19 jsonpickle.dumps(u)
# {"py/object": "__main__.User", "py/state": {"uName": "zhangsan"}}
20 jsonpickle.dumps(u,unpicklable=False) #打印的时候不显示包名,打包信息
# {"uName": "zhangsan"}
21 22 23 24 jsonpickle.loads(request.session['u']) #反序列化

 

posted on 2020-09-07 17:00  小打小闹  阅读(354)  评论(0)    收藏  举报