1.jsonify:

得到了从API获得的数据并返回,API返回的json数据被转化成dict,我们还需要把dict序列化:

return json.dump(result), 200, {'content-type':'application/json'}

Flask提供一种简化的方法(jsonify):return jsonify(result)

return jsonify(result)

2.视图函数拆分到单独文件中:

之前的fsher.py 文件中存在太多的视图函数:

from flask import Flask, jsonify
from helper import is_isbn_or_key
from yushu_book import YuShuBook
from config import DEBUG
app = Flask(__name__)
app .config.from_object('config')
@app.route('/hello')
def hello():
return 'Hello!' @app.route('/book/search/<q>/<page>')
def search(q, page):
isbn_or_key = is_isbn_or_key(q)
if isbn_or_key == 'isbn':
result = YuShuBook.search_by_isbn(q)
else:
result = YuShuBook.search_by_keyword(q)
# dict 序列化
return jsonify(result) if __name__ == '__main__':
app.run(host='0.0.0.0', debug=app.config['DEBUG'])

将下面的代码剪切到book.py

@app.route('/book/search/<q>/<page>')
def search(q, page):
isbn_or_key = is_isbn_or_key(q)
if isbn_or_key == 'isbn':
result = YuShuBook.search_by_isbn(q)
else:
result = YuShuBook.search_by_keyword(q)
# dict 序列化
return jsonify(result)
# return json.dump(result), 200, {'content-type':'application/json'}

导入一些包后 app不能运行,导入app后没有用:

这里要了解Flask的路由

最新文章

  1. sql异步执行
  2. Linux shell中的符号
  3. 异步SRAM控制器的Verilog建模
  4. 关于C语言中单双引号的问题
  5. 关于Web Worker你必须知道的7件事
  6. 【堆栈应用一】一个数divided=几个最小质因数的乘积
  7. 添加Sql作业,新建步骤出现:从IClassFactory为CLSID为{AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2}的COM组件创建实例失败,原因是出现以下错误:c001f011。的解决方法
  8. Android核心分析 之十一Android GWES之消息系统
  9. JavaScript操作DOM的那些坑
  10. 转:android 录制视频的Demo
  11. ,gitignore 中规则不起作用的原因
  12. Python3 tkinter基础 Scrollbar pack 创建靠右、充满Y轴的垂直滚动条
  13. 深入理解JVM(二)——内存模型、可见性、指令重排序
  14. C++高质量编程笔记
  15. 使用Java让android手机自动执行重复重启
  16. 源码分析篇 - Android绘制流程(三)requestLayout()与invalidate()流程及Choroegrapher类分析
  17. 使用 SQLServer On Linux 作为开发数据库遇到的编码问题
  18. python_ssh连接
  19. [mobile angular ui]MAUI中的font awesome图标
  20. 随手记录: MVC自定义提交form

热门文章

  1. c#_导出table功能
  2. ncl 函数源码 gc_inout
  3. Loadrunner安装使用入门
  4. python simple factory mode example
  5. 统计学习方法c++实现之二 k近邻法
  6. Catlike学习笔记(1.2)-使用Unity画函数图像
  7. windows下在idea用maven导入spark2.3.1源码并编译并运行示例
  8. Netty源码分析第2章(NioEventLoop)----&gt;第3节: 初始化线程选择器
  9. leetcode第217.题存在重复元素
  10. NO.8:自学python之路------并行socket网络编程