ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

8_关于flask中的响应Response

2019-10-07 18:54:59  阅读:241  来源: 互联网

标签:200 return cheng flask list 响应 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转换为一个请求对象.

标签:200,return,cheng,flask,list,响应,Flask,Response
来源: https://www.cnblogs.com/nichengshishaonian/p/11631676.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有