python-Web-django-商城-session存入数据库
2019-08-21 20:20
162 查看
原文链接:http://www.cnblogs.com/person1-0-1/p/11390995.html
utils:
'''用户session''' import datetime from app01.models import Sessions ''' iii = request.session.session_data print(iii) s = Session.objects.get(pk='lmefu9u5y6x5h2lumdrdq4xy0kma9dt3') print(s.session_data) print(s.get_decoded()) ''' from django.contrib.sessions.models import Session class PersonSession(): '''个人虚拟session''' def __init__(self,request): self.time = datetime.datetime.now() self.session = {} self._session = request.session.__dict__ self.session_id = self._session['_SessionBase__session_key'] self._s = Session.objects.get(pk=self.session_id) # 数据 self.session_data = self._s.session_data self.session_time = self._s.expire_date self._page() @classmethod def get_session_store_class(cls): raise NotImplementedError # 获取dict格式session def get_decoded(self): session_store_class = self.get_session_store_class() return session_store_class().decode(self.session_data) def get_session(self,request): '''把数据存入request.session中''' def delete(self): '''''' session_obj = Sessions.objects.filter(session_id=self.session_id).delete() def save(self): '''session保存数据库''' if Sessions.objects.filter(session_id=self.session_id): pass else: session_obj = Sessions(session_id=self.session_id,session_data=self.session_data,session_time=self.session_time) session_obj.save() def _page(self): '''判断是否登陆,并赋值''' session_obj = Sessions.objects.filter(session_id=self.session_id).first() if session_obj: '''登陆了''' self.session_data = session_obj.session_data self._s.session_data = self.session_data self.session = self._s.get_decoded() return True return False
models:
# session class Sessions(models.Model): '''request.session''' # 第二主键 session_id = models.CharField(max_length=40, verbose_name='sessionID', null=False) session_data = models.TextField(verbose_name='数据', null=True) session_time = models.DateTimeField(max_length=11, verbose_name='存储有效期', null=False)
views:
request.session["memberName"] = member_obj.member_name request.session["memberId"] = member_obj.id from app01.utils.personSession import PersonSession person = PersonSession(request) person.save()
转载于:https://www.cnblogs.com/person1-0-1/p/11390995.html
相关文章推荐
- python web框架Django学习(六)数据库
- Python Web框架之Django框架cookie和session用法分析
- Python脚本之django---mysql-记录主机性能数据到数据库-web站点管理数据库及web显示命令执行结果
- django 实现将本地图片存入数据库,并能显示在web上的示例
- 【PythonDjango后台实例 第二章】Python3.6.1+Pyserial+PyMySQL 实现读取串口并存入数据库
- Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
- pythonWeb -- Django开发- 模型Model 和 数据库的操作
- python web框架django入门
- python django中使用sqlite3数据库 存储二进制数据ByteArray
- 在 Django 中构建 mysql 数据库支持的 Web 应用程序(linux )
- python下的web开发框架-Django,url配置
- Python网络编程05----django与数据库的交互
- ubuntu 下搭建一个python3的虚拟环境(用于django配合postgresql数据库开发)
- python-django开发web框架的setting.py
- PythonWeb编程Django模型层遇见的问题
- PythonWeb 开发Django框架(一) 4000 环境搭建
- python-django 数据库查询方法总结
- python web开发框架 - 之 Django Request
- Python3之Django Web框架的双下划线跨表查询,聚合查询,分组查询
- Python菜鸟之路:Django 数据库操作进阶F和Q操作