Flask入门
学习文章: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))

浙公网安备 33010602011771号