University Ranking Backend:代码深度解析(第一部分)
本篇将深入 University Ranking Backend 的代码结构。我们探索应用入口和驱动大学搜索过滤系统的核心逻辑。 🏗️ 整体架构 后端遵循标准的 模型-视图-控制器 (MVC) 模式(其中"视图"是 JSON 响应)。 app.py:初始化应用、注册路由的入口点 routes/:处理 HTTP 请求、解析参数、委托给模型 models/:包含业务逻辑和数据库交互 db/:管理 SQLite 数据库连接 1. 入口点:app.py 这个文件是应用的心脏。它设置 Flask 服务器、配置安全,连接所有组件。 函数:全局作用域 / if __name__ == "__main__": 输入:无(脚本启动时执行) 逻辑: 初始化:创建 Flask 应用实例 CORS 配置:应用 CORS(app) 允许跨域请求。这很关键,因为前端单独托管,需要权限与此 API 通信 蓝图注册:注册三个主蓝图。蓝图如同"插件"为应用添加特定路由: universities_bp(在 /universities) dropdown_bp(在 /dropdown) ranking_detail_bp(在 /subject_rankings) 启动:在端口 10000 启动开发服务器 输出:运行中的 HTTP 服务器 from flask import Flask from routes.universities import universities_bp from routes.dropdown import dropdown_bp from routes.ranking_detail import ranking_detail_bp from flask_cors import CORS app = Flask(__name__) CORS(app) # 注册蓝图 app.register_blueprint(universities_bp, url_prefix="/universities") app.register_blueprint(dropdown_bp, url_prefix="/dropdown") app.register_blueprint(ranking_detail_bp, url_prefix="/subject_rankings") if __name__ == "__main__": app.run(host='0.0.0.0', port=10000) 2. 核心逻辑:models/universities.py 这个文件包含搜索功能的"大脑"。处理复杂的搜索、过滤、排序逻辑。 ...