框架分析¶
此部分文档主要介绍顶点云 Web 服务器的框架结构。
顶点云服务器源码文件结构如下:
- web
- app
- auth
- main
- static
- thumbnail
- templates
- ...
- models.py
- settings
- config.py
- manage.py
- work.db
以上几个目录对应的功能如下:
- auth :对应 Auth 蓝本 ,用于处理用户注册、登录等需要特权的请求。
- main :对应 Main 蓝本 ,用于处理用户大部分不需要特权的请求,以及主要的功能实现。
- static :对应 Flask 框架中存储静态文件的目录,此目录存储 Web 服务器使用的图片、js、css等文件。
- static/thumbnail :此目录存储用户自定义的头像文件。
- template :此目录存储 Web 服务器渲染网页使用的模板。
- models.py :对应 模型介绍 中介绍的各类模型。
- config.py :对应 Web 服务器全局配置 中的配置文件。
- manage.py :管理服务器的配置文件,包含了一系列自定义命令,你可以查看 管理器 以了解更多。
各模块之间关系如下图所示:
管理器¶
manage.py 管理着顶点云 Web 服务器。它提供了很多操作服务器的基础命令,如启动、初始化、测试等,你可以通过 python manage.py <command> 来运行不同命令。默认的顶点云 Web 服务器管理器提供的命令有:
- shell :启动交互式 Python 命令行并自动导入顶点云 Web 服务器的各类模块
- db :数据库迁移类命令,如 db migrate 、 db init 等
- test :启动 web/tests 目录下的单元测试
- init :初始化数据库,随机生成用户和数据
- simple_init :简单初始化数据库,只加入五个特定的用户
工厂方法¶
web/app/__init__.py 中包含了 Web 服务器的工厂方法,当你通过 manage.py 执行命令时, manage.py 会调用工厂方法生成一个应用实例。
工厂方法名为 create_app ,正如我们在 扩展自定义功能 中介绍的那样,修改 manage.py 的第 13 行实际是修改了工厂方法的参数。这个工厂方法根据传入的参数从 Web 服务器全局配置 中寻找对应表项(配置类),并使用该配置类生成服务器实例。
接下来请您阅读 蓝本介绍 。