Django框架的使用教程--Cookie-Session[五]
Posted gaidy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django框架的使用教程--Cookie-Session[五]相关的知识,希望对你有一定的参考价值。
Cookie
cookie是存储在浏览器中的一段文本信息,下次同一网站请求,就会发送该cookie给服务器,一般的浏览器都有启动cookie,用cookie存储信息,最好不要存储密码,cookie也有大小
cookie特点
cookie以键值对格式进行存储信息
不同的cookie不能进行相互的访问
访问某个网站时,会将某个网站在浏览器保存的信息提交到服务器
设置Cookie
读取Cookie
视图函数
def get_cookie(request): cookie = request.COOKIES.get(‘gaidy‘) print(cookie) return HttpResponse(‘读取成功‘)
运行结果
Session
Seesion就是服务器端开辟的一块内存空间,存放着客户端浏览器窗口的编号,通cookie一样也是用来记录用户的状态,比cookies简单。存放方式依然是键值对的形式存放。
Django默认启用session
在apps中安装session应用
数据库中有一个django_session的表(表的结构字段有键,值,过期时间)
数据库
安装redis数据库扩展
pip install django_redis
设置本地缓存(项目工程settings设置)
SESSION_ENGINE=‘django.contrib.sessions.backends.cache‘
混合存储
SESSION_ENGINE=‘django.contrib.sessions.backends.cached_db‘
配置redis连接
import django_redis CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } SESSION_ENGINE = "django.contrib.sessions.backends.cache" SESSION_CACHE_ALIAS = "default"
Session的操作
def set_session(request): # 设置session的键值 request.session[‘gaidy‘] = 25 # 根据键读取值 name = request.session.get(‘gaidy‘) print(name) # 清楚所有的session request.session.flush() name1 = request.session.get(‘gaidy‘) print(name1) return HttpResponse(‘ok‘)
1.设置session
request.session[‘键‘]=值
2.根据键读值
request.session.get(‘键‘,默认值)
3.清楚所有的session,在存储中删除值部分
request.session.clear()
4.清空session数据
request.session.flush()
5.删除session中的指定键及值,在存储中只删除某个键及对应的值。
del request.session[‘键‘]
6.设置session的有效期
request.session.set_expiry(value)
- 如果value是一个整数,session将在value秒没有活动后过期。
- 如果value为0,那么用户session的Cookie将在用户的浏览器关闭时过期。
- 如果value为None,那么session有效期将采用系统默认值,默认为两周,可以通过在settings.py中设置SESSION_COOKIE_AGE来设置全局默认值。
以上是关于Django框架的使用教程--Cookie-Session[五]的主要内容,如果未能解决你的问题,请参考以下文章
Django视频教程 - 基于Python的Web框架(全13集)
Django框架的使用教程--Cookie-Session[五]