zoukankan      html  css  js  c++  java
  • django中views中方法的request参数

    知其然亦要知其所以然

    views每个方法的参数都是request,那么问题来了,request为何物?

    首先,几乎每个方法都是取数据(无论是从数据库,还是从第三方接口),然后进行一定的处理,之后传给前端。而前端请求数据,就会向后端发送一个http请求,这个请求的请求路径,经过urls,会调用url中指定的方法。此时django就会将HttpRequest对象作为第一个参数传入此方法。故,request即为一个httpRequest对象。

    然后,出现了一个新问题,httpRequest是什么,又含有什么属性和方法?

    1. httpRequest类定义在django.http中
    2. httpRequest对象是由django自动创建的

    常见属性: 

    • HttpRequest.method  字符串类型,表示所用的http方法
    • HttpRequest.content_type  指content_type头解析的请求的MIME类型
    • HttpRequest.content_params 指content_type标题中的 k/v参数字典
    • HttpRequest.GET 此为一个字典一样的对象,里面有get请求中的所有参数
    • HttpRequest.POST 此亦为一个字典一样的对象,里面有post请求表单中数据
    • HttpRequest.COOKIES 此仍为一个字典一样的对象,包含所有的cookie数据
    • HttpRequest.session  : SessionMiddleware中间件,可读写的,为一个字典一样的对象,表示当前会话。我们要保存用户状态,回话过程等等,需要利用此中间件
    • HttpRequest.user : AuthenticationsMiddleware中间件:表示当前登录用户的AUTH_USER_MODEL实例,若未登录,贼user为AnonymousUser实例

    QueryDict:

      在HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例,此亦为一个类似于字典一样的类。

      经常用的方法为QueryDict.get(key,default) ,返回key对应的值,若对应多个值,则返回最后的值,若key不存在,则返回默认值。

      

  • 相关阅读:
    文件上传工具类
    使用java 的api获取两个集合的交集、并集、差集
    如何判断指定Class是否是List的子类或者父类,是否是数组
    如何判断指定Class是否是基础数据类型或者是其包装类型
    OVS中的key解析
    OVS
    Neutron网络学习
    NIO_2
    以太网帧格式总结
    VMWare中桥接、NAT、Host-only
  • 原文地址:https://www.cnblogs.com/yulongzhou/p/10680953.html
Copyright © 2011-2022 走看看