Windows上的Odoo想要使用scaffold建立app,就是要稍微看着啰嗦了,在unix上能够odoo-bin 这样的方式,但Windows得这样:python
"<Path_to_python.exe in the Odoo folder>" "<Path_to_odoo-bin>" scaffold "<Path_to_addons_folder>"
复制代码
好比建立一个cate的模块:web
"c:\Program Files (x86)\Odoo 13.0\python\python.exe" "C:\Program Files (x86)\Odoo 13.0\server\odoo-bin" scaffold cate "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons"
$ 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
复制代码
介绍以下:服务器
__mainifest__.py 文件是 addon 的基本信息文件,例如这个 addon 的名称、描述、做者和网站连接等等,这些信息会展示在 addons 的「安装界面」。
controllers用于编写 web 控制器。
demo存放 addon 安装后初始化的 demo 数据的目录。
models用于编写 ORM 数据模型。
security存放权限定义文件的目录。
views存放 addon 的视图的定义文件。
复制代码
从目录结构能够看出,Odoo 也是标准的 MVC 模式,建立好了应用,接下来咱们看看这个应用该如何安装。app
激活开发者模式网站
点击「设置」到设置页面并点击「激活开发者模式」,再次回到应用页面后就能够看到「刷新本地模块列表」了。spa
而后还须要「刷新本地模块列表」插件
刷新本地模块列表后,咱们再次搜索,发现依然没有搜索到hello,缘由是搜索框中的「应用」过滤把咱们的应用给过滤掉了,点击「应用」的「x」将搜索过滤去掉后就能够看到咱们的应用了。unix
但搜索框中将 hello 标志为了模块,为了将 hello 修改成应用,须要修改 mainifest.py 文件。日志
在 mainifest.py 文件中的字典增长 application 并设为 True。code
{
'name': "hello",
'application': True,
# ...
}
复制代码
注意,True的第一字母是大写的。
再次点击 「刷新本地模块列表」后,搜索后能够看到 Hello 已经被修改成应用了。如今还什么菜单也看不到。可是你能够看到应用而且能够安装了。
咱们常常听到Odoo模块和应用程序,可是它们之间到底有什么区别呢?
模块插件是Odoo应用程序的构建模块,一个模块能够为Odoo添加新的功能,也能够修改现有的功能,它是一个包含了一个名为__manifest__.py的描述符文件,再加上实现其功能的其他文件。
应用程序是将主要功能添加到Odoo的方式,它们提供了一个功能区的核心元素,好比Accouting或HR,在此基础上,附加的附加模块会修改或扩展功能。
若是你的模块很复杂,而且在Odoo中增长了新的或主要的功能,你可能会考虑将其建立为一个应用程序。
一个模块是不是一个应用程序是在清单中定义的,技术上对如今的附加模块的行为没有任何特别的影响,它只是在App列表中用于高亮显示。
如今,咱们有了一个模拟的新模块,咱们要把它提供给Odoo实例。
为此,咱们须要确保包含模块的目录在add-ons路径中。 而后更新odoo模块列表。
咱们将定位在工做目录下,而后用适当的附加组件路径配置启动服务器。
cd ~/odoo-dev ./odoo/odoo-bin -d todo --addons-path="custom-addons,odoo/addons" --save
保存选项是将你使用的选项保存在配置文件中,这样能够避免咱们每次重启服务器时重复使用这些选项:只要运行./odoo-bin,最后保存的选项就会被使用。
仔细看一下服务器日志,它应该有一个INFO?odoo:addons path:[...]行,它应该包括咱们的自定义addons目录。
记住,还应该包括你可能正在使用的任何其余add-ons目录。 若是你有一个 ~/odoo-dev/extra 目录,其中包含 额外的模块,你可能想把它们也包括进来,使用选项。
--addons-path="custom-addons,extra,odoo/addons"
如今咱们须要Odoo确认咱们刚刚添加的新模块。
安装新模块