广告联盟建设个人网站,镇江专业网站建设,html5手机版下载,网络广告的收费模式有Session
1 启用Session
Django项目默认启用Session。
可以在settings.py文件中查看#xff0c;如图所示 如需禁用session#xff0c;将上图中的session中间件注释掉即可。
2 存储方式
在settings.py文件中#xff0c;可以设置session数据的存储方式#xff0c;可以保存…Session
1 启用Session
Django项目默认启用Session。
可以在settings.py文件中查看如图所示 如需禁用session将上图中的session中间件注释掉即可。
2 存储方式
在settings.py文件中可以设置session数据的存储方式可以保存在数据库、本地缓存等。
2.1 数据库
存储在数据库中如下设置可以写也可以不写这是默认存储方式。
SESSION_ENGINEdjango.contrib.sessions.backends.db如果存储在数据库中需要在项INSTALLED_APPS中安装Session应用。 数据库中的表如图所示 表结构如下 由表结构可知操作Session包括三个数据键值过期时间。
2.2 本地缓存
存储在本机内存中如果丢失则不能找回比数据库的方式读写更快。
SESSION_ENGINEdjango.contrib.sessions.backends.cache2.3 混合存储
优先从本机内存中存取如果没有则从数据库中存取。
SESSION_ENGINEdjango.contrib.sessions.backends.cached_db2.4 Redis
在redis中保存session需要引入第三方扩展我们可以使用django-redis来解决。
网络连接
1 安装扩展
pip install django-redis2配置
在settings.py文件中做如下设置
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注意
如果redis的ip地址不是本地回环127.0.0.1而是其他地址访问Django时可能出现Redis连接错误如下 解决方法
修改redis的配置文件添加特定ip地址。
打开redis的配置文件
sudo vim /etc/redis/redis.conf在如下配置项进行修改如要添加10.211.55.5地址 重新启动redis服务
sudo service redis-server restart3 Session操作
通过HttpRequest对象的session属性进行会话的读写操作。
1 以键值对的格式写session。
request.session[键]值2根据键读取值。
request.session.get(键,默认值)3清除所有session在存储中删除值部分。
request.session.clear()4清除session数据在存储中删除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来设置全局默认值。