「脚手架」是一种元编程的方法,用于构建基于数据库的应用。许多 MVC 框架都有运用这种思想。 程序员编写一份 specification「规格说明书」,来描述怎样去使用数据库;而由(脚手架的) 编译器来根据这份 specification 生成相应的代码,进行增、删、改、查数据库的操作。 我们把这种模式称为"脚手架",在脚手架上面去更高效的建造出强大的应用。
用过 Django 的读者应该知道,Django 可以利用 manage.py startapp myapp 来生成一个 app 的目录结构,这就是一个脚手架。
同样的 Odoo 也有自己的脚手架,我们可以在命令行运行:
$ mkdir Odoo-Book-Demo && cd Odoo-Book-Demo
$ ../odoo-bin scaffold name
::自己找的
python odoo-bin scaffold name(模块名称) destinaton(要存放模块的目录)
目录结构。
$ cd bangumi
$ tree
.
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── demo
│ └── demo.xml
├── models
│ ├── __init__.py
│ └── models.py
├── security
│ └── ir.model.access.csv
└── views
├── templates.xml
└── views.xml
-
manifest
__mainifest__.py文件是 addon 的基本信息文件,例如这个 addon 的名称、描述、作者和网站链接等等,这些信息会展现在 addons 的「安装界面」。 -
controllers
用于编写 web 控制器。 -
demo
存放 addon 安装后初始化的 demo 数据的目录。 -
models
用于编写 ORM 数据模型。 -
security
存放权限定义文件的目录。 -
views
存放 addon 的视图的定义文件。
从目录结构可以看出,Odoo 也是标准的 MVC 模式。
参考