zoukankan      html  css  js  c++  java
  • Flask中request参数

    首先要明确一件事,Request这是个对象,不管使用PHP还是python还是什么java语言,虽然request这个对象可能叫的名字不一样,(在其他语言中可能叫什么HttpRequest),但是原理都是差不多。我们客户端发送请求给服务器,发送的就是这个Request对象。我们不能简单的以为我们在地址栏打了一行:www.xxxx.com 就以为请求就这点东西,其实Request对象里面包含了你要发送给服务器的很多东西。这节内容和之前的基础知识中的Http相呼应。

    在Flask中,Request对象就叫做request,可以直接引用:from flask import request

    上下文(context):

    一直看到这个东西,却不知道这是个什么玩意,难以理解。简单说一下什么是请求上下文:我们客户端发送了请求给服务器,那么这个request对象就发送过去了。服务器那边就接收到了这个request,那么就可以使用一系列方法读取这个request对象中的内容(比如使用request.method 显示它用GET还是POST方式提交的,使用request.path  查看它请求的路径是什么)。而我们如果浏览器没有发送请求,那么在服务器端,你去使用request.method这些方法就会报错,因为这些方法需要客户端发送过来请求才能执行,也就是说,某些方法的执行需要一系列操作作为基础,需要前因后果这种关系(说的比较抽象),而这种前因后果就可以通俗理解为上下文。

    form
    一个包含解析过的从 POST 或 PUT 请求发送的表单对象的 MultiDict 。请注意上传的文件不会在这里,而是在 files 属性中。
    
    args
    一个包含解析过的查询字符串( URL 中问号后的部分)内容的 MultiDict 。
    
    values
    一个包含 form 和 args 全部内容的 CombinedMultiDict 。
    
    cookies
    一个包含请求中传送的所有 cookie 内容的 dict 。
    
    stream
    如果表单提交的数据没有以已知的 mimetype 编码,为性能考虑,数据会不经修改存储在这个流中。大多数情况下,使用可以把数据提供为字符串的 data 是更好的方法。流只返回一次数据。
    
    headers
    进入请求的标头存为一个类似字典的对象。
    
    data
    如果进入的请求数据是 Flask 不能处理的 mimetype ,数据将作为字符串存于此。
    
    files
    一个包含 POST 和 PUT 请求中上传的文件的 MultiDict 。每个文件存储为 FileStorage 对象。
    其基本的行为类似你在 Python 中见到的标准文件对象,差异在于这个对象有一个 save() 方法可以把文件存储到文件系统上。
    
    environ
    底层的 WSGI 环境。
    
    method
    当前请求的 HTTP 方法 (POST , GET 等等)
    
    path
    script_root
    url
    base_url
    url_root
    提供不同的方式来审视当前的 URL 。想象你的应用监听下面的 URL:
    
    http://www.example.com/myapplication
    并且用户请求下面的 URL:
    
    http://www.example.com/myapplication/page.html?x=y
    这个情况下,上面提到的属性的值会为如下:
    
    path             /page.html
    script_root      /myapplication
    base_url         http://www.example.com/myapplication/page.html
    url              http://www.example.com/myapplication/page.html?x=y
    url_root         http://www.example.com/myapplication/
  • 相关阅读:
    第8章 对象的容纳
    第 4 章 初始化和清除
    第 3 章 控制程序流程
    maven教程
    使用Eclipse构建Maven项目 (step-by-step)
    将 Maven生成的java项目转化为支持 Eclipse IDE的项目
    eclipse 中修改 M2_REPO的值
    FilenameUtils工具类
    导出excel小结(C#,.NET,Wpf)
    NPOI导出Excel表功能实现(多个工作簿)(备用)
  • 原文地址:https://www.cnblogs.com/niuli1987/p/10439917.html
Copyright © 2011-2022 走看看