一次转发请求作用域。

会话作用域。

应用程序作用域

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'

Python Django

第二步:在pydlogsys/sittings.py MIDDLEWARE 要有中间键'django.contrib.sessions.middleware.SessionMiddleware'

Python Django

在设置存蓄形式按Ctrl+alt+r 输入migrate session 创建Django_session数据库

Python Django

第四步:bloguser/views.py中修改登陆成功后的跳转路径

Python Django

在bloguser/urls.py中修改 path('login',login),为 path('login',login,name='login'),

Python Django

在数据库中的django_session表中留下记录,下次登陆就会显示你的信息

在templates/welcome.html中修改后显示‘退出’,未登陆显示‘登陆’

在bloguse/views.py中创建logout函数,在登陆成功后显示‘退出’,点退出的时候返回 welcome

Python Django

Python Django

创建连接

在bloguser/views.py中添加a和b两个函数

Python Django

在bloguser/urls,py中添加路径

Python Django

在templates/welcome.html中添加两个链接

Python Django

在浏览器中输入http://127.0.0.1:8000/user/login

Python Django

相关文章:

  • 2022-01-21
  • 2021-04-07
  • 2021-07-18
  • 2021-08-18
  • 2021-04-29
  • 2021-11-18
  • 2021-07-16
猜你喜欢
  • 2021-10-09
  • 2021-05-05
  • 2022-01-07
  • 2021-07-18
  • 2021-05-18
  • 2022-12-23
相关资源
相似解决方案