标签:ror list pre .com blog out 结果 文章 技术分享
学习文章:http://www.pythondoc.com/flask-restful/first.html
http://www.cnblogs.com/Xrinehart/p/3506467.html
在C:\flask>目录下,新建一个app.py文件
#!flask/bin/python from flask import Flask, jsonify from flask import abort app = Flask(__name__) tasks = [ { ‘id‘: 1, ‘title‘: u‘Buy groceries‘, ‘description‘: u‘Milk, Cheese, Pizza, Fruit, Tylenol‘, ‘done‘: False }, { ‘id‘: 2, ‘title‘: u‘Learn Python‘, ‘description‘: u‘Need to find a good Python tutorial on the web‘, ‘done‘: False } ] @app.route(‘/todo/api/v1.0/tasks‘, methods=[‘GET‘]) def get_tasks(): return jsonify({‘tasks‘: tasks}) @app.route(‘/todo/api/v1.0/tasks/<int:task_id>‘, methods=[‘GET‘]) def get_task(task_id): task = list(filter(lambda t: t[‘id‘] == task_id, tasks)) #对tasks列表中的选项依次执行函数lambda t: t[‘id‘] == task_id,将执行结果为True(!=0)的选项组成一个List/String/Tuple(取决于sequence的类型)返回,False则退出(0),进行过滤。 if len(task) == 0: abort(404) return jsonify({‘task‘: task[0]}) if __name__ == ‘__main__‘: app.run(debug=True)
C:\flask>python app.py
执行结果
注意原文有段代码是:
task = filter(lambda t: t[‘id‘] == task_id, tasks)
运行时会报TypeError: object of type ‘filter‘ has no len()
需要强转filter的返回类型为list类型
task = list(filter(lambda t: t[‘id‘] == task_id, tasks))
标签:ror list pre .com blog out 结果 文章 技术分享
原文地址:http://www.cnblogs.com/amoyzhu/p/7814209.html