day20-视图获取用户请求相关信息以及请求头

一、前言

  我们之前学到了request.POST和reuqest.GET来获取前端发过来的请求数据,其实前端当中不止这么点请求,其实request是一个对象,这个对象封装了这个类里面的所有的信息,所以,还有其他很多请求头信息,今天我们就来谈谈这个请求头信息吧。

二、查看request这个类

2.1、查看这个类

def index(request):
    print(type(request))
    return HttpResponse("ok")


#输出
<class 'django.core.handlers.wsgi.WSGIRequest'>

2.2、导入这个类

说明:导入这个类,看看有哪些信息

def index(request):
    from django.core.handlers.wsgi import WSGIRequest  #导入这个类
    return HttpResponse("ok")

 如图:

三、获取用户的相关信息

说明:由上面可知,用户的请求相关信息在request.environ中

def index(request):
    print(request.environ)
    return HttpResponse("ok")

#输出(字典类型的用户信息)
{'CLASSPATH': '.;D:\\Java\\jdk1.7.0_17\\jre\\lib\\rt.jar;.;', ........., 'SYSTEMDRIVE': 'C:'}

所以request.GET和request.post也是有WSGIRequest这个类里面的。因为request.environ是字典,我们就来看看里面循环字典的效果:

def index(request):
    print(request.environ)
    for k,v in request.environ.items():
        print("{0}:{1}".format(k,v))
    return HttpResponse("ok")

如图:

所以获取用户的浏览器:

def index(request):
    print(request.environ.get("HTTP_USER_AGENT"))
    return HttpResponse("ok")

如图:

四、总结

  1. request是WSGIRequest类的一个对象
  2. 这个对象里面封装了environ、POST、GET、以及COOKIE等属性
  3. 想要看一下这个类,可以通过 type(request)来查看
posted @ 2018-03-26 10:51  帅丶高高  阅读(172)  评论(0)    收藏  举报