Flask项目目录结构和demo工程示例

Flask项目目录结构和demo工程:

  1. 代码文件单独打包;
  2. 通过蓝图区分不同模块,避免多个模块代码混在一起;
  3. 剥离route,统一维护,避免使用装饰器的方式,不直观;

demo

参考:Quickstart — Flask Documentation (2.2.x) (palletsprojects.com)

建议目录结构

myproject
├─src                            # 代码包
│  ├─hello
│  │  ├─__init__.py
│  │  ├─route.py
│  │  └─hello.py
│  ├─user
│  │  ├─__init__.py
│  │  ├─route.py
│  │  └─user.py
├─lib                      # 放一些代码逻辑中使用到的配置文件,如json文件等
├─run.py              # 入口
└─requirements.txt    # 依赖包

样例代码

src/_init_.py
from flask import Flask
app = Flask(__name__)
src/hello/_init_.py
from flask import Blueprint

bp_hello = Blueprint('hello', __name__, url_prefix="/hello")

from src.hello.route import init_routes
init_routes(bp_hello)

src/hello/route.py
from src.hello import hello

def init_routes(blp):
    # 定义路由
    blp.add_url_rule('/', 'hello', hello.hello_world)

src/hello/hello.py
def hello_world():
   return 'Hello World!'
src/main.py
from src import app
from src.hello import bp_hello

# 注册蓝图
app.register_blueprint(bp_hello)

def run_app():
    app.run()

if __name__ == '__main__':
    app.run()

myproject/run.py

参考:Command Line Interface — Flask Documentation (2.2.x) (palletsprojects.com)

不建议使用flask_script,高版本flask会报错,需要降级或修改源码。

from src.main import run_app

if __name__ == '__main__':
    run_app()
运行
cd myproject
python run.py
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值