python-Web-django-商城-session存入数据库
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()
python-Web-django-商城-session存入数据库的更多相关文章
- 【简说Python WEB】视图函数操作数据库
目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...
- session 存入数据库 php
session 机制 1.php中session的生成机制 session是保存在服务器的,当我们在代码中调用session_start();时,PHP会同时往SESSION的存放目录(默认为/tm ...
- python web -- django
一. 安装 django $ pip install django (env)$ python >> import django >> django.VERSION >& ...
- python web——Django架构
环境:windows/linux/OS 需要的软件:Firefox 浏览器(别的也可以 不过firfox和python的webdriver兼容性好) git版本控制系统(使用前要配置 用户 编辑器可以 ...
- 将session存入数据库,memcache的方法
//存入数据库 <?phpif(!$con = mysql_connect('localhost','root','123456')){ die('连接数据库失败');}$link = m ...
- Python爬取热搜存入数据库并且还能定时发送邮件!!!
一.前言 微博热搜榜每天都会更新一些新鲜事,但是自己处于各种原因,肯定不能时刻关注着微博,为了与时代接轨,接受最新资讯,就寻思着用Python写个定时爬取微博热搜的并且发送QQ邮件的程序,这样每天可以 ...
- 【python】Django设置SESSION超时时间没有生效?
按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效. 通过查看django的源代 ...
- python web django base skill
web框架本质 socket + 业务逻辑 框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket ...
- python web django 2nd level -- 待更新
练习代码位置 实例代码位置 --> app: myblog Form 利用Form表单验证,自己写的html 思路: 新建一个类 LoginForm(forms.Form) 新建对象 obj = ...
随机推荐
- Hbuilder 开发微信小程序的代码高亮
一.点击“工具”-“选项”-搜索“文件关联” 二.点击“添加”文件类型,点击确定 三.在相关联的编辑器中点击“添加”按钮,选择CSS Editor,点击确定,重新打开 *.wxss 类型的文件即可 其 ...
- BFS和DFS
1.图的两种遍历方式 图的遍历通常有两种方式,即深度优先搜索(Depth First Search)和广度优先搜索(Breadth First Search).前者类似于树的先序遍历,而后者类似于树的 ...
- vue 后退不刷新,前进刷新 keep-alive
最近在开发中遇到了这样的一个问题: A.B.C三个页面,有如下这样的场景: (1)从页面A离开进入B或C的时候,缓存A页面的数据,并且返回到A后,能保持A页面的跳转前职位 (2)离开B进入C的时候,缓 ...
- PHP解决h5页面跨域
前端h5 页面请求后端接口会出现跨域, PHP 只需三行代码即可解决 //解决前端跨域(h5页面) header("Access-Control-Allow-Origin:*"); ...
- 解决Spring AOP Controller 不生效
在spring-mvc.xml文件中,进行以下配置,就可以实现在Controller中, 方法一:最简单的,在spring-mvc.xml配置文件中,添加以下语句 spring-mvc.xml < ...
- PHP mysqli_fetch_assoc() 函数
从结果集中取得一行作为关联数组: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localhost& ...
- 51 Nod 1572 宝岛地图
1572 宝岛地图 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 勇敢的水手们到达了一个小岛,在这个小岛上,曾 ...
- [Luogu] 选择客栈
https://www.luogu.org/problemnew/show/P1311 思路就是,从1到n枚举,输入color和price的值,我们需要记录一个距离第二个客栈最近的咖啡厅价钱合理的客栈 ...
- 【luoguP1196】 [NOI2002]银河英雄传说--边带权并查集 ,
题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山压顶 ...
- plotly绘图
import plotly.plotly as plt import plotly.offline as pltoff from plotly.graph_objs import * # 生成折线图 ...