Web怎么获取请求数据,修改响应信息呢

文章来源:一氧化碳中毒   发布时间:2021-6-26 12:23:06   点击数:
  request对象

为什么要知道request对象?因为我们只要了解到request对象的属性,我们才能获取请求时附带的数据,而这些数据对我们都是很重要的,比如:当我们需要登录校验、返回客户想要的数据等,我们都可以通过request对象来获取数据来实现我们想要展现的功能。

常用属性和方法

我们在views.py文件中打印一下这些属性

deflogin(request):ifrequest.method==GET:print(这个是GET请求!)print(request)print(request.method)print(request.path)print(request.GET)returnrender(request,login.html)else:print(这个是POST请求!)print(request.method)print(request.POST)print(request.path)print(request.get_full_path())print(request.META)print(request.body)returnrender(request,index.html)defindex(request):print(这是一个具有多选功能和上传文件的页面请求!)print(request.POST)print(request.FILES)returnrender(request,index.html)

urls.py文件内容如下

urlpatterns=[re_path(r^login/,views.login),re_path(r^index/,views.index),]

login.html文件(具有登录功能)如下

body!--这是一个form表单,action属性定义在提交表单时执行的动作。向服务器提交表单的通常做法是使用提交按钮。通常,表单会被提交到web服务器上的网页。以POST方式--formaction="/login/"method="post"h1这是一个登录页面/h1用户名:inputtype="text"name="username"密码:inputtype="password"name="password"性别:inputtype="radio"name="sex"value="male"男inputtype="radio"name="sex"value="female"女brbutton提交/button/form/body!--注意性别的value的值,男是male,女是female--!

index.html文件(具有多选和上传文件功能)如下

bodyh1首页/h1h1来呀!快活呀!/h1formaction="/index/"method="POST"enctype="multipart/form-data"文件:inputtype="file"name="file"br食物:inputtype="checkbox"name="food"value="0"苹果inputtype="checkbox"name="food"value="1"香蕉inputtype="checkbox"name="food"value="2"橘子inputtype="submit"/form/body!--注意食物的value的值,苹果、香蕉、橘子的value分别为--!

准备就绪,开始运行,先打开.0.0.1:/login/页面,输入用户名、密码和选好性别点击提交。然后会跳转到.0.0.1:/index/页面。在这个.0.0.1:/index/页面里我们上传文件和多选食物。我们看一下Django后台打印出了什么!

首先打印了这些内容

这个是GET请求!WSGIRequest:GET/login/GET/login/QueryDict:{}#这个是views.py文件中login视图函数的GET请求时打印的

再往下看

这个是POST请求!POSTQueryDict:{username:[adon],password:[root],sex:[woman]}/login//login/#由于篇幅太长,省略中间段{ALLUSERSPROFILE:C:\\ProgramData,APPDATA:·············classwsgiref.util.FileWrapper}busername=adonpassword=rootsex=woman#这个是views.py文件中login视图函数的POST请求时打印的

最后还有一段

这是一个具有多选功能和上传文件的页面请求!QueryDict:{food:[0,2]}#因为这里我只选了苹果、橘子,所以是02MultiValueDict:{file:[InMemoryUploadedFile:.txt(text/plain)]}#这个是views.py文件中index视图函数的POST请求时打印的总结

print(request)#WSGIRequest对象print(request.path)#/index/获取路径(不包括查询参数)print(request.method)#请求方法print(request.POST)#POST请求提交的数据print(request.body)#获取

转载请注明:http://www.lwblm.com/bzbk/12042.html
  • 上一篇文章:
  • 下一篇文章: 没有了