# seatools-starter-web-flask **Repository Path**: seatools-py/seatools-starter-web-flask ## Basic Information - **Project Name**: seatools-starter-web-flask - **Description**: seatools ioc flask 启动器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-17 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, ioc, Spring, starter ## README # seatools flask 启动器 该框架必须和`seatools-starter-server-*`的包集成配合使用, 这里以`seatools-starter-server-uvicorn`为例 ## 使用指南 1. 安装, `poetry add flask seatools-starter-server-uvicorn seatools-starter-web-flask` 2. 配置`config/application.yml`如下: ```yaml seatools: server: # 此处为uvicorn参数配置 uvicorn: host: 0.0.0.0 port: 8000 workers: 1 reload: true # 此处为flask配置 flask: # 与 Flask 参数一致 import_name: seatools.ioc.server.app static_folder: static template_folder: templates ... ``` 3. 使用, 通过定义ioc容器函数加载 ```python import abc from seatools.ioc import Autowired, Bean from flask import Flask app = Autowired(cls=Flask) # Add route @app.get('/') def hello(): return 'hello flask' class Service(abc.ABC): def hello(self): raise NotImplementedError # Flask integration with seatools ioc injection @Bean class ServiceA(Service): def hello(self): return "serviceA" @app.get('/service') def service(service = Autowired(cls=ServiceA)): return service.hello() # return hello flask ``` 3. 运行, 具体见`seatools-starter-server-*`, [`seatools-starter-server-uvicorn`](https://gitee.com/seatools-py/seatools-starter-server-uvicorn)