HttpRequest对象

  • 视图函数的第一个参数是HttpRequest对象
  • 服务器接收到http协议的请求后,会根据请求数据报文创建HttpRequest对象
  • HttpRequest属性
    • path:字符串,表示请求的路由信息
    • path_info: URL字符串
    • method:字符串,表示HTTP请求方法,常用值:'GET'、'POST'
    • encoding:字符串,表示提交的数据的编码方式
      • 如果为None则表示使用浏览器的默认设置,一般为'utf-8'
      • 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值
    • GET:QueryDict查询字典的对象,包含get请求方式的所有数据
    • POST:QueryDict查询字典的对象,包含post请求方式的所有数据
    • FILES:类似于字典的对象,包含所有的上传文件信息
    • COOKIES:Python字典,包含所有的cookie,键和值都为字符串
    • session:似于字典的对象,表示当前的会话,
    • body: 字符串,请求体的内容(POST或PUT)
    • environ: 字符串,客户端运行的环境变量信息
    • scheme : 请求协议('http'/'https')
    • request.get_full_path() : 请求的完整路径
    • request.get_host() : 请求的主机
    • request.META : 请求中的元数据(消息头)
      • request.META['REMOTE_ADDR'] : 客户端IP地址
      • request.META['HTTP_REFERER'] : 请求源地址