# +====================================================================== # | 模块: 应用工厂层 # | 说明: 创建并配置 Tornado 应用实例(路由、模板/静态目录、调试与安全选项), # | 并完成扩展初始化 # +====================================================================== """应用工厂。""" # ---------------------------------------------------------------------- # 导入依赖 # 涵盖:应用配置(根路径/调试开关)、认证配置(JWT 秘钥)、 # 扩展注册入口、路由聚合、Tornado 框架 # ---------------------------------------------------------------------- from config.app import ROOT_PATH, TORNADO_DEBUG from config.auth import JWT_SECRET from extensions import register_extensions from api.v1.router import build_routes import tornado.web # ====================================================================== # 创建应用实例 # ====================================================================== def create_app(): """创建 Tornado 应用实例。 :return: 配置完成的 Tornado Application 实例 """ app = tornado.web.Application( # 初始化路由 build_routes(), # 模板文件目录 template_path=str(ROOT_PATH / "templates"), # 静态文件路径 static_path=str(ROOT_PATH / "static"), # 静态文件路由前缀 static_url_prefix="/static/", # 调试模式 debug=TORNADO_DEBUG, # 自动重载 autoreload=False, # 支持 gzip 压缩 gzip=True, # 禁用自动转义 autoescape=None, # 防跨站请求攻击 xsrf_cookies=None, # COOKIE 秘钥 cookie_secret=JWT_SECRET, ) # 初始化扩展 register_extensions(app) return app