You*_*ira 5 python module docker odoo
我正在尝试将docker用于odoo模块开发。我有以下docker-compose.yml文件
db:
image: postgres
environment:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
volumes:
- data:/var/lib/postgresql/data/
odoo:
image: odoo
links:
- db:db
ports:
- "127.0.0.1:8069:8069"
volumes:
- extra-addons:/mnt/extra-addons
command: -- --update=tutorial
Run Code Online (Sandbox Code Playgroud)
该模块仅包含一个__openerp__.py文件,但是odoo即使显示--update=tutorial选项也不显示我对其所做的更改
{
'name': "tutorial",
'summary': """Hello world!!""",
'description': """
This is the new description
""",
'author': "ybouhjira",
'website': "ybouhjira.com",
'category': 'Technical Settings',
'version': '0.1',
'depends': ["base"],
}
Run Code Online (Sandbox Code Playgroud)
该文件位于中名为教程的文件夹中extra-addons,我尝试停止并启动容器,甚至删除并重新创建它们。
您必须添加自己的配置文件。首先在 docker-compose.yml 挂载 /etc/odoo
odoo:
image: odoo
links:
- db:db
ports:
- "127.0.0.1:8069:8069"
volumes:
- extra-addons:/mnt/extra-addons
- ./config:/etc/odoo
Run Code Online (Sandbox Code Playgroud)
然后在 ./config 中创建“odoo.conf”并添加如下配置选项。
[options]
addons_path = /mnt/extra-addons,/usr/lib/python2.7/dist- packages/odoo/addons
data_dir = /var/lib/odoo
auto_reload = True
Run Code Online (Sandbox Code Playgroud)
重启odoo,进入调试模式然后apps->更新模块列表
如果仍然不起作用,请检查插件目录的访问权限并检查组和其他人是否可以读取它们
小智 5
就像shodowsjedi已经说过的那样,您需要创建一个__init__.py文件(请参阅模块结构:https : //www.odoo.com/documentation/8.0/howtos/backend.html#module-structure )。
同样,检查odoo容器中的权限,odoo卷中的文件将在容器(可以与其他用户关联)中包含系统(主机)的uid和gid。要检查这一点,您可以使用docker exec:
docker exec docker_odoo_1 ls -la /mnt/extra-addons
Run Code Online (Sandbox Code Playgroud)
如果您不知道容器的码头工人名称,则可以使用以下方法进行检索:
docker-compose ps
Run Code Online (Sandbox Code Playgroud)
最后也是最重要的一个,使用以下命令检查odoo日志:
docker-compose logs
Run Code Online (Sandbox Code Playgroud)
并在Odoo的配置页面中(或在服务器启动时)更新模块
要创建新模块,您需要的文件比 Odoo Manifest__openerp__.py文件更多,您还需要 Python 描述符文件__init__.py作为最小结构,当然您需要两个以上的文件,但最小的模块必须存在。在现有数据库上创建模块后,您需要在设置下调用更新模块列表以正确加载模块,然后您将能够安装它。
| 归档时间: |
|
| 查看次数: |
4455 次 |
| 最近记录: |