Version 0.1.1 rise to flask app factory
This commit is contained in:
34
Html/apps/__init__.py
Normal file
34
Html/apps/__init__.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import logging
|
||||
from flask import Flask
|
||||
from .config import Config
|
||||
from .extensions import init_extensions, register_namespaces
|
||||
from .views import register_blueprints
|
||||
|
||||
|
||||
|
||||
def create_app(config_object: type = Config) -> Flask:
|
||||
app = Flask(__name__, template_folder="templates", static_folder="static")
|
||||
app.config.from_object(config_object)
|
||||
|
||||
# secret_key 从 config 里来
|
||||
app.secret_key = app.config["SECRET_KEY"]
|
||||
|
||||
# logging
|
||||
app.logger.setLevel(logging.DEBUG)
|
||||
|
||||
|
||||
register_namespaces(app)
|
||||
|
||||
# 1) 初始化第三方扩展(db、cache、jwt、cors 等)
|
||||
init_extensions(app)
|
||||
|
||||
|
||||
# 2) 注册蓝图(把子文件暴露的蓝图统一挂到 app 上)
|
||||
register_blueprints(app)
|
||||
|
||||
# 3) 其他钩子/命令/错误处理
|
||||
@app.route("/healthz")
|
||||
def healthz():
|
||||
return {"status": "ok"}
|
||||
|
||||
return app
|
||||
Reference in New Issue
Block a user