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数据库进行数据存储
  • 开发流程:
    • 后端完善健壮性判断
    • 前端优化数据展示样式
    • 系统扩展负载均衡能力
  • 核心价值:实现了单体应用的基本数据流转,为后续复杂应用开发奠定基础

    更多推荐