zoukankan      html  css  js  c++  java
  • 8_关于flask中的响应Response

    关于响应 (Response)

    视图函数中的返回值会被自动转换为一个响应对象,在Flask中的转换逻辑如下:

    • 如果返回的是一个合法的响应对象,则直接返回。

      from flask import Flask, Response # 因为在flask中导入过了Response, 所以Response可以直接从此处导入
      @app.route('/')
      def index():
          return Response('首页')
      
    • 如果返回的是一个字符串,那么Flask会自动创建一个werkzeug.wrappers.Response对象,Response对象将该字符串作为主体,状态码为200,MIME类型为text/html, 然后返回该Response对象.

      @app.route('/')
      def index():
          # return '首页'   # 返回一个字符串,转换逻辑如下:
          response = Response('首页', status=200, mimetype='text/html; charset=utf-8')
          return response
      
    • 如果返回的是一个元组,元组中的数据类型是(response, status, headers)。status值会覆盖默认的200的状态码,headers可以是列表或者字典,作为额外的参数头.

      @app.route('/list/')
      def my_list():
          # 三个参数,可以不写全
          # return 'list', 200
          return ('list', 200)
          return ('list', 200, {'name': 'cheng'})
      
       	# return ('list2', 300, {'name': 'cheng'})
          # return 'list2', 300, {'name': 'cheng', 'age': 18, 'sex': 'man', 'country': 'china'}
          # return 'list2', 200, [('name', 'cheng'), ('age', 18)]
      
    • 如果以上都不满足,Flask会假设返回值是一个合法的WSGI应用程序,并通过Response.force_type(rv, request, environ转换为一个请求对象.

  • 相关阅读:
    好友面板切换案例
    jquery
    H5 新增API
    深拷贝
    浅拷贝
    call bind apply
    像素鸟
    Django3.0
    三剑客-grep-awk-sed
    Linux中find命令详解
  • 原文地址:https://www.cnblogs.com/nichengshishaonian/p/11631676.html
Copyright © 2011-2022 走看看