Flask框架——Python接口开发
·
Flask是轻量级的web开发框架
一、Flask的安装
安装命令:pip install Flask

验证是否安装成功:先输入python进入,后输入from flask import Flask,没有报错则安装成功

二、使用Flask开发一个Get接口
1、创建文件夹,创建文件
2、引入Flask

- 导入语句:使用from flask import Flask导入Flask框架
- 常见问题:首次导入可能出现红色报错,需要配置Python解释器或安装Flask包
- 解决方法:
- 直接点击IDE提示安装Flask
- 手动配置Python解释器路径(进入Settings → Project → Python Interpreter,选择系统Python安装路径:C:\Users\用户名\AppData\Local\Programs\Python\Python310\python.exe,确认Flask包已出现在已安装包列表中)
3、写代码建立一个简单的Get接口
from flack import Flask
app = Flask(__name__) # 创建Flack应用实例
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/hello/args/<username>')
def hello_world3(username):
print(username)
key = request.args.get('key')
value = request.args.get('value')
print(key)
print(value)
return 'Hello World! aaa' + username + ':::' + key + '::' + value
if __name__ == '__main__':
app.run()
运行结果

通过http://127.0.0.1:5000访问结果如下
通过http://127.0.0.1:5000/hello/args/aaa?key=ndd&value=sdd访问结果如下

注意:URL组成
- http://:协议类型
- :5000:Flask默认端口号
- 127.0.0.1:本地回环地址(相当于localhost)
三、使用Flask开发一个Post接口
创建一个Python文件,编写以下代码:
from flask import Flask, request
app = Flask(__name__)
@app.route("/mypost", methods=['post'])
def my_post():
return "post request"
@app.route("/mypost1", methods=['post'])
def my_post1():
# 表单数据类型
username = request.form['username']
sex = request.form['sex']
print(username)
print(sex)
return "post request" + username + "::" + sex
@app.route("/mypost1", methods=['post'])
def my_post2():
# json数据格式
request_data = request.get_json()
print(request_data)
print(request_data['user'])
return "post request" + str(request_data)
if __name__ == '__main__':
app.run(port=5555) # 端口号的修改

四、Flask结合PyMySQL实现数据库交互
1、PyMySQL的安装

安装步骤:
- 在搜索引擎输入"pymysql"进入官方文档
- 执行安装命令:pip install PyMySQL
- 验证安装:在Python文件中import pymysql不报错即成功
注意事项:安装前需确保数据库服务已启动,Navicat等工具能正常连接
2、PyMySQL数据库交互示例
import pymysql
from flack import Flask
# 这是mysql的基本连接信息
conn = pymysql.connect(
host='localhost',
user='root',
passwd='<PASSWORD>',
database='flack',
charset='utf8'
)
cursor = conn.cursor()
app = Flask(__name__)
@app.route('/')
def hello_world():
sql = 'select * from user'
result = cursor.execute(sql)
# 得到查询后的真正的结果
r = cursor.fetchall()
print(r)
return str(r)
if __name__ == '__main__':
app.run()
查询执行:
- 创建游标:cursor = conn.cursor()
- 执行SQL:cursor.execute("SELECT * FROM school")
- 获取结果:result = cursor.fetchall()
常见问题:
- 类型错误:Flask视图函数必须返回字符串/字典等类型,不能直接返回int
- 解决方案:使用str()转换查询结果
- 结果解析:execute()返回的是影响行数,fetchall()获取实际数据
3、三层构架实现
- 架构组成:
- 用户层:通过浏览器访问接口
- 服务层:使用Flask框架处理请求
- 存储层:基于MySQL数据库进行数据存储
- 开发流程:
- 后端完善健壮性判断
- 前端优化数据展示样式
- 系统扩展负载均衡能力
- 核心价值:实现了单体应用的基本数据流转,为后续复杂应用开发奠定基础
更多推荐
所有评论(0)