zoukankan      html  css  js  c++  java
  • flask第十五篇——Response

    从这一节开始,我就要开始讲关于模板的知识了。先来学习一下Response的相关知识。

    所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return u'字符串内容'的形式,但是其实这个字符串也是经过了Response包装的:return Response(u'字符串')
    我们看一段代码:

    # coding: utf-8

    from flask import Flask, Response app = Flask(__name__)  # type: Flask
    app.debug = True

    @app.route('/')
    def hello_world():    return 'Hello World!'

    @app.route('/login/')
    def login():    return Response(u'login')

    if __name__ == '__main__':    app.run()

    代码里我新建了一个login函数,返回的就是用Response包装后的字符串,访问地址可以看到页面打印了login

    我们有时候需要返回数组、字典之类的数据,但是数组或者字典这些数据是不能直接return的。这个时候怎么办呢?答案就是你必须将数组或字典转换成json后再返回(这就是为什么我们做接口测试的时候传参前用json.loads()将字符串转换成字典的原因了),因为json就是一个字符串

    数组或字典转换成json的函数叫做jsonify,你需要先导入from flask import jsonify或者像船长下面代码里写的那样,一下子导入好几个库:

    # coding: utf-8

    from flask import Flask, Response, jsonify app = Flask(__name__)  # type: Flask
    app.debug = True

    @app.route('/')
    def hello_world():    return 'Hello World!'

    @app.route('/login/')
    def login():    dict1 = {"name": "Warren"}
       return jsonify(dict1)

    if __name__ == '__main__':    app.run()

    上面代码里`dict1`的数据类型是一个字典,我们通过`jsonify()`将其转换成了`json`,就可以成功返回了,去页面,看到:

    除了字符串以外,还可以返回元组,但是返回元组是有要求的,元组内容包括三个参数:responsestatus_codeheaders,其中:

    • response指页面打印信息,可以是字符串或Response对象

    • status_code指状态码,成功200,找不到页面404等等

    • headers指信息头

    # coding: utf-8

    from flask import Flask, Response, jsonify app = Flask(__name__)  # type: Flask
    app.debug = True

    @app.route('/')
    def hello_world():    return 'Hello World!'

    @app.route('/login/')

    def login():    dict1 = {"name": "Warren"}
       return jsonify(dict1)

    @app.route('/set/')
    def myset():    return u'返回元组', 200, {"name": "Warren"}

    if __name__ == '__main__':    app.run()

    看上面代码的myset函数,我return了一个元组(单个值的元组可以不写括号,而且如果你加上括号,pycharm会有黄线提醒你remove redundant parentheless,意思就是去掉多余的括号)。然后我们到页面访问/set/这个页面,打开F12就是开发者工具,然后刷新页面:

    然后看开发者工具:

    这就是一个返回元组的例子了。

    明天我们继续Response的知识。

    请关注公众号:自动化测试实战

  • 相关阅读:
    结构与算法(04):排序规则与查找算法
    虚拟机系列 | JVM特点,基础结构与执行周期
    Springboot 轻量替代框架 Solon 1.3.10 发布
    Java RPC 框架 Solon 1.3.9 发布,更便利的支持
    Java RPC 框架 Solon 1.3.7 发布,增强Cloud接口能力范围
    分享个本地maven配置
    Java RPC 框架 Solon 1.3.1 发布,推出Cloud接口与配置规范
    使用 quartz-solon-plugin 开发定时任务(新)
    使用 cron4j-solon-plugin 开发定时任务(新)
    国际开源社区OW2成立快应用兴趣小组,助推快应用生态发展
  • 原文地址:https://www.cnblogs.com/captainmeng/p/8649113.html
Copyright © 2011-2022 走看看