登陆流程:html
输入127.0.0.1/login前端
把浏览器信息,客户端地址,访问地址等封装到request里,以GET方式发送给login的url(由于是访问页面,因此是GET请求)django
匹配到对应的url浏览器
在根据url匹配处处理函数,直接显示页面,完成访问登陆页面服务器
在登陆页面输入用户名密码,点击登陆cookie
form表单把输入的信息,浏览器信息,客户端地址,访问地址等封装到request对象里,以post的形式发送给login的urlsession
匹配到对应的url函数
根据url匹配处处理函数,发现是post请求,让post处理post
POST处理完,把登陆用户等信息封装到request里,和上下文一块儿传给login.html,用来渲染login.html编码
request对象的属性
request.scheme
表明请求的方案,http或者https
request.path
请求的路径,好比请求127.0.0.1/org/list,那这个值就是/org/list
request.get_full_path(),全路径,有参数也是带上的。如 /org/list?a=1&b=2
request.method
表示请求使用的http方法,GET或者POST请求
request.encoding
表示提交数据的编码方式
request.GET
获取GET请求
request.POST
获取post的请求,好比前端提交的用户密码,能够经过request.POST.get()来获取
另外:若是使用 POST 上传文件的话,文件信息将包含在 FILES 属性中
request.COOKIES
包含全部的cookie
request.META
一个标准的Python 字典,包含全部的HTTP 首部。具体的头部信息取决于客户端和服务器,下面是一些示例:
request.user
一个 AUTH_USER_MODEL 类型的对象,表示当前登陆的用户。
若是用户当前没有登陆,user 将设置为 django.contrib.auth.models.AnonymousUser 的一个实例。你能够经过 is_authenticated() 区分它们
把request传给前端的时候,前端能够经过 {% if request.user.is_authenticated %}判断用户时候登陆
request.session
一个既可读又可写的相似于字典的对象,表示当前的会话