码迷,mamicode.com
首页 > 其他好文 > 详细

flask 接口开发

时间:2017-04-17 17:32:39      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:数据   sqlite   ebs   handler   default   alt   status   style   源码   

Flask接口直接操作数据库

环境准备:

  1. python ,flask, sqllite3(mysql)这里我直接使用sqllite,简单快捷
  2. jsonify,request 这些包可以直接使用pip install下载
  3. post man 接口调试工具  ,pycharm ----python开发工具

环境的问题就到这里,百度一下各种教程,这里就不罗嗦

 

步骤一:

新建一个sqllite数据库:

新建记事本,将记事本名字改为:info.db

  使用pycharm打开info.db,创建student表,包含id,name,age。

使用pycharm新建一个flask项目

 技术分享

 

将info.db移动至webserver项目文件夹下

 技术分享

 

现在开始代码部分。

 

 

步骤二:

 

对student表进行插入操作

 技术分享

 

对student表进行查询操作

 技术分享

 

 

步骤三:

启动webserver项目:python webserver.py 成功后使用postman进行测试

1.插入数据:

根据路由,使用 127.0.0.1:5000/add 的post方法进行新增操作

需要传递的参数为json格式{“id”:”7”,”name”:”3”,”age”:”23”},点击send即可,然后查看数据库中是否成功插入数据

 

 技术分享

 

数据库中数据:

 技术分享

 

2.查询数据

 

使用get方式直接在url中输入地址即可,输入地址为ID=6的学生信息,返回的数据也是json格式的数据。

 技术分享

 

源码如下:

 1 # coding=utf-8
 2 import sqlite3
 3 from flask import Flask, jsonify,request
 4 
 5 # 防止中文乱码
 6 import sys
 7 reload(sys)
 8 sys.setdefaultencoding("utf-8")
 9 
10 app = Flask(__name__)
11 
12 
13 @app.route(/add,methods=[POST])
14 def add_student():
15     # 连接数据库
16     conn = sqlite3.connect(info.db)
17     cur = conn.cursor()
18 
19     student = {
20         id: request.json[id],
21         name: request.json[name],
22         age: request.json[age]
23     }
24 
25     sql=insert into student values(%s,%s,%s) %(student[id],student[name],student[age])
26 
27     # 执行sql语句
28     cur.execute(sql)
29     conn.commit()
30     print sql
31 
32     # 关闭连接
33     conn.close()
34     return u"插入成功"
35 
36 
37 @app.route(/<int:id>, methods=[GET])
38 def query(id):
39 
40     # 连接数据库
41     conn = sqlite3.connect(info.db)
42     cur = conn.cursor()
43     # 执行sql语句
44     sql = "select id,name,age from student where id = " + str(id)
45     cur.execute(sql)
46     result = cur.fetchall()
47     print sql
48     # 关闭连接
49     conn.close()
50     return jsonify(
51         {
52             id: result[0][0],
53             name: result[0][1],
54             age: result[0][2],
55         })
56 
57 
58 @app.errorhandler(404)
59 def page_not_found(e):
60     res = jsonify({error: not found})
61     res.status_code = 404
62     return res
63 
64 
65 if __name__ == __main__:
66     app.run(host=0.0.0.0)

 

 

flask 接口开发

标签:数据   sqlite   ebs   handler   default   alt   status   style   源码   

原文地址:http://www.cnblogs.com/jinjidedale/p/6723725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!