python flask app.py里的接口放在别的目录下图文教程

在Flask中,将接口(即视图函数)放在不同的目录下是一种组织代码的良好实践,特别是在你的应用变得较大时。这种方法可以提高代码的可维护性和可读性。以下是一个步骤详解,教你如何将Flask应用的接口放在不同的目录下。

步骤 1: 创建项目结构

首先,我们需要创建一个基本的项目结构。例如:

复制代码
my_flask_app/ 
  │ 
  ├── app/ │ 
  ├──── __init__.py │ 
  ├──── main.py │ 
  └──── routes.py │ 
  ├── run.py │ 
  └── requirements.txt

步骤 2: 初始化Flask应用

app/__init__.py文件中,初始化Flask应用并配置蓝图(Blueprints)。蓝图是Flask中用来组织视图函数和其它代码的工具。

复制代码
from flask import Flask 
from .routes import main_blueprint 
def create_app(): 
    app = Flask(__name__) 
    app.register_blueprint(main_blueprint) 
    return app

步骤 3: 创建蓝图和视图函数

app/routes.py文件中,创建蓝图并定义你的视图函数。

复制代码
from flask import Blueprint, jsonify 

main_blueprint = Blueprint('main', __name__) 
@main_blueprint.route('/') 
def home(): 
    return jsonify({'message': 'Hello, World!'}

步骤 4: 运行Flask应用

run.py文件中,创建并运行Flask应用。

复制代码
from app import create_app 

app = create_app() 

if __name__ == '__main__': 
    app.run(debug=True

步骤 5: 添加更多蓝图和视图函数(可选)

如果你有更多的接口或模块,你可以继续创建更多的蓝图和视图函数。例如,如果你想添加一个用户管理的模块,你可以这样做:

  1. app目录下创建一个新的文件,比如user.py
  2. user.py中定义一个蓝图和相关的视图函数。
  3. __init__.py中注册这个新的蓝图。

例如,app/user.py:

复制代码
from flask import Blueprint, jsonify 

user_blueprint = Blueprint('user', __name__) 

@user_blueprint.route('/user') 
def get_user(): 
    return jsonify({'username': 'example'})

然后在app/__init__.py中注册这个蓝图:

复制代码
from .routes import main_blueprint 
from .user import user_blueprint # 导入新的蓝图 

def create_app(): 
    app = Flask(__name__) 
    app.register_blueprint(main_blueprint) 
    app.register_blueprint(user_blueprint) # 注册新的蓝图 return app

步骤 6: 运行应用并测试接口

现在你可以运行run.py来启动你的Flask应用,并通过浏览器或API测试工具(如Postman)来测试你的接口。例如,访问http://127.0.0.1:5000/应该返回{"message": "Hello, World!"},而访问http://127.0.0.1:5000/user应该返回{"username": "example"}

通过以上步骤,你可以有效地将你的Flask应用中的接口分布在不同的目录下,从而提高代码的组织性和可管理性

相关推荐
许彰午2 小时前
100_Python面试常见问题汇总
java·python·面试
皓悦编程记2 小时前
【YOLO26 系列】基于YOLO26的垃圾分类检测系统【python源码+Pyqt5界面/WEB+数据集+训练代码】
python·qt·分类
滴滴滴嘟嘟嘟.2 小时前
强化学习消融实验-batch_size / clip_range / gae_lambda / lr
python·机器学习
2601_963932982 小时前
怀孕四个月能做流产吗?中期妊娠终止方式与子宫修护科普指南
python
zhr_math_king2 小时前
LangGraph-快速入门-第一个例子
python·langchain
爱吃苹果的梨叔3 小时前
2026年指挥中心分布式坐席怎么选?清虹创智让多系统、多坐席和大屏真正协同
python
起予者汝也3 小时前
Python 数据结构
开发语言·数据结构·python
LadenKiller3 小时前
2026年量化工具增量,放回回测模拟实盘阶段判断
人工智能·python
石一峰6994 小时前
驱动:私有数据为什么要在三个地方各挂一遍?
数据库·python·算法
2601_956319884 小时前
最新量化软件怎么选,先按能力短板匹配工具类型
人工智能·python