一次转发请求作用域。
会话作用域。
应用程序作用域
Session(一个模块)
在gjango里使用session
1、 installed_apps
2、 中间件。
3.设置存储形式。
4、引用 resquest.session.
Django session 的设计原理
1如果用户是第一次请求
判断客户是否第一次请求,就看客户端ie是否保存session cookie。
创建session model
生成一个key session id 随机的一个字符串 uuid
Uuid是随机生成id永久不重复的字符串。保存到你的session_engine指定的位置。 保存到cookie中,在用户的浏览器中。
如果第二次以上的请求,用户端ie都会都会自动提交cookie到django,django中利用你的配置的sessionmiddleware中,间件激活session利用cookie中的sessionid到你的session_engine指定的位置读取session model并设置到request的session属性上。
正式因为这样的才能在你的view里面通过request.session中使用session能力。
Session本身就是一个dict字典
Session在存数据必须支持序列化json.
第一步:在pydlogsys/sittings.py中有没有 INSTALLED_APPS 'django.contrib.sessions'
第二步:在pydlogsys/sittings.py MIDDLEWARE 要有中间键'django.contrib.sessions.middleware.SessionMiddleware'
在设置存蓄形式按Ctrl+alt+r 输入migrate session 创建Django_session数据库
第四步:bloguser/views.py中修改登陆成功后的跳转路径
在bloguser/urls.py中修改 path('login',login),为 path('login',login,name='login'),
在数据库中的django_session表中留下记录,下次登陆就会显示你的信息
在templates/welcome.html中修改后显示‘退出’,未登陆显示‘登陆’
在bloguse/views.py中创建logout函数,在登陆成功后显示‘退出’,点退出的时候返回 welcome
创建连接
在bloguser/views.py中添加a和b两个函数
在bloguser/urls,py中添加路径
在templates/welcome.html中添加两个链接
在浏览器中输入http://127.0.0.1:8000/user/login