Python Django

一次转发请求作用域。

会话作用域。

应用程序作用域

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章