zoukankan      html  css  js  c++  java
  • 【Flask】关于Flask的request属性

    前言

    在进行Flask开发中,前端需要发送不同的请求及各种带参数的方式,比如GET方法在URL后面带参数和POST在BODY带参数,有时候又是POST的表单提交方式,这个时候就需要从request提取参数。这篇文章是总结如何使用request

    关于request

    在Flask的官方文档中是这样介绍request的:

    对于 Web 应用,与客户端发送给服务器的数据交互至关重要。在 Flask 中由全局的 request 对象来提供这些信息。

    从Flask模块导入request

    from flask import request
    • 1

    request的属性

    下面是request可使用的属性,其中黑体是比较常用的。

    • form
      一个从POST和PUT请求解析的 MultiDict(一键多值字典)。

    • args
      MultiDict,要操作 URL (如 ?key=value )中提交的参数可以使用 args 属性:

    searchword = request.args.get('key', '')
    • 1
    • values
      CombinedMultiDict,内容是formargs
      可以使用values替代form和args。

    • cookies
      顾名思义,请求的cookies,类型是dict。

    • stream
      在可知的mimetype下,如果进来的表单数据无法解码,会没有任何改动的保存到这个·stream·以供使用。很多时候,当请求的数据转换为string时,使用data是最好的方式。这个stream只返回数据一次。

    • headers
      请求头,字典类型。

    • data
      包含了请求的数据,并转换为字符串,除非是一个Flask无法处理的mimetype。

    • files
      MultiDict,带有通过POST或PUT请求上传的文件。

    • environ
      WSGI隐含的环境配置。

    • method
      请求方法,比如POST、GET。

    • path

    • script_root
    • url
    • base_url
    • url_root
      如果用户请求如下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/
      • is_xhr
        如果请求是一个来自JavaScript XMLHttpRequest的触发,则返回True,这个只工作在支持X-Requested-With头的库并且设置了XMLHttpRequest

      • blurprint
        蓝本名字。

      • endpoint
        endpoint匹配请求,这个与view_args相结合,可是用于重构相同或修改URL。当匹配的时候发生异常,会返回None。

      • get_json(force=False, silent=False, cache=True)

      • json
        如果mimetypeapplication/json,这个参数将会解析JSON数据,如果不是则返回None。
        可以使用这个替代get_json()方法。

      • max_content_length
        只读,返回MAX_CONTENT_LENGTH的配置键。

      • module
        如果请求是发送到一个实际的模块,则该参数返回当前模块的名称。这是弃用的功能,使用blueprints替代。

      • on_json_loading_failed(e)
      • routing_exception = None
        如果匹配URL失败,这个异常将会/已经抛出作为请求处理的一部分。这通常用于NotFound异常或类似的情况。

      • url_rule = None
        内部规则匹配请求的URL。这可用于在URL之前/之后检查方法是否允许(request.url_rule.methods) 等等。
        默认情况下,在处理请求函数中写下
        print('request.url_rule.methods', request.url_rule.methods)
        会打印:

        request.url_rule.methods {‘GET’, ‘OPTIONS’, ‘HEAD’}

      • view_args = None
        一个匹配请求的view参数的字典,当匹配的时候发生异常,会返回None。

  • 相关阅读:
    比较两个NSDate
    关于修改UIWebView的UserAgent
    iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
    iOS系统自带分享功能
    swift中的协议
    iOS性能优化:Instruments使用实战
    iOS利用HealthKit框架从健康app中获取步数信息
    iOS设备型号
    iOS消息推送机制
    Swift进阶
  • 原文地址:https://www.cnblogs.com/yanzi-meng/p/8251089.html
Copyright © 2011-2022 走看看