Odoo 奥多脚手架?

Odoo 奥多脚手架?,odoo,scaffold,Odoo,Scaffold,我了解到,您可以使用命令构建模块,因此不需要手动创建一些初始文件。但是这样的命令在master上不起作用(在Odoo开发分支上): 因为openerp目录中没有名为oe的文件。这个东西在最新版本中有变化吗?如何在Odoo中构建模块?这段代码可能会有所帮助。将其另存为moe.py或任何您想要的内容 from openerp.cli import scaffold sf = scaffold.Scaffold() #sf.run(["--help"]) sf.run (["--init","A

我了解到,您可以使用命令构建模块,因此不需要手动创建一些初始文件。但是这样的命令在master上不起作用(在Odoo开发分支上):


因为openerp目录中没有名为
oe
的文件。这个东西在最新版本中有变化吗?如何在Odoo中构建模块?

这段代码可能会有所帮助。将其另存为
moe.py
或任何您想要的内容

from openerp.cli import scaffold

sf = scaffold.Scaffold()

#sf.run(["--help"])

sf.run (["--init","Academy","--model","academy","--controller","academy","--web","--theme"])

我对Python编程还是新手。如果有人能改进向
run()
函数发送参数的方法,那就太好了。

另一个版本

\###### begin ########

import sys

from openerp.cli import scaffold

sf = scaffold.Scaffold()

sf.run (sys.argv[1:])

\####### end #########
将顶部的脚本保存到
openerp
文件夹中。然后执行以下操作:

$ python (your-script-name) --help
或:

现在,odoo 10或更高版本使用odoo bin代替了odoo.py
  • 在shell或终端上,将目录更改为您的odoo文件夹。可能在
    /opt/odoo
    中,或者可能在
    /home/odoo
    中:

    cd /opt/odoo
    
  • 使用odoo.py脚本创建新模块:

    ./odoo.py scaffold my_new_module ./addons/
    
  • (其中my_new_module是新模块的名称,./addons/是Odoo addons目录)

  • 编辑./addons/my_new_module/_openerp__.py文件

    nano ./addons/my_new_module/__openerp__.py
    
  • 更改名称字段以设置模块的用户友好名称(例如“Andrius的新模块”)。同时更改描述和字段。并将所需的模块(如“邮件”)添加到模块依赖项列表中

    'depends': ['base', 'mail'],
    
  • 编辑models.py

    nano ./addons/my_new_module/models.py
    
  • 在my_new_模块/models.py文件中添加代码,例如:

  • 来自openerp导入模型,api
    类FooterlesNotification(models.Model)
    _inherit='mail.notification'
    @api.model
    def get_signature_footer(self,user_id,res_model=None,res_id=None,context=None,user_signature=True):
    返回“”
    
    (例如,此代码将扩展“mail.notification”模型,并将其get\u signature\u footer方法替换为返回空页脚的方法。)

  • 通过Odoo设置安装模块
  • 要在那里找到它,您可能需要使用“更新模块列表”选项

    如果您也找不到“更新模块列表”选项,则可能需要在当前用户的设置中启用“技术功能”复选框


    要显示模块,而不仅仅是应用程序,请单击标记前的小“x”,从搜索框过滤器中删除标记“应用程序”。

    使用
    odoo.py
    而不是
    oe

    ./path/to/odoo/odoo.py scaffold my-module
    

    根据odoo文档,创建模块的正确方法如下:

    odoo.py scaffold [name of module] [desired path of module]
    
    另外,我建议您为模块使用不同的加载项路径,不要使用odoo/加载项,您可以在需要的位置创建一个新目录,然后将此目录添加到odoo配置中,或者从启动时使用此加载项执行odoo

    odoo.py --addons-path=[full path to your dir]
    

    我已经在AWS的/opt/ODOO目录中安装了ODOO 9

    因此,首先我要更改目录:

     cd /opt/odoo
    
    然后执行:

     odoo.py scaffold modulename ./addons/
    
    给出以下错误消息:

     odoo.py command not found
    
    对我有效的正确命令是:

     sudo python odoo.py scaffold modulename ./addons/
    

    希望这有帮助。

    您是作为源代码还是软件包安装的

    对于你需要做的源代码

    ./odoo.py scaffold [module_name] [where_to_put_it]
    
    如果从包你需要做什么

     odoo.py scaffold [module_name] [where_to_put_it]
    
    [where_to_put_it]通常是您的插件路径,您的插件路径可能会根据您的安装方法而有所不同

    无需在addons文件夹中创建模块。 但建议您这样做。您可以通过以下方式添加新的加载项路径:

    odoo.py --addons-path=[where_to_put_it]
    

    对于模块结构和构建模块。

    在某些情况下,需要将Odoo python文件传递给python应用程序以执行

    python odoo.py scaffold modulename addons-path
    
    ./“odoo.py文件的路径”/odoo.pyscaffoldmy module./“新插件的路径”/


    用路径替换qoutes,然后输入以下命令:

    cd path/to/your/odoo-version/
    
    ./odoo-bin scaffold new_module /path/to/your/odoo-version/addons
    

    然后转到/path/to/your/odoo version/addons并刷新,您可以看到“新模块”将出现。

    我建议您进行Git克隆odoo的第一步。创建一个目录/文件夹,然后在目录/文件夹上Git克隆odoo。运行之后,Python odoo.py scaffold将添加test123。将或模块放在目录/文件夹加载项上,确保可以读取您的模块。

    您可以使用
    /odoo bin scaffold MODULE\u NAME PATH\u TO\u STORE\u您的\u MODULE\u或\u ADDONS

    例如:
    /odoo-bin脚手架模块\u名称/odoo/odoo服务器/自定义插件/

    这里的自定义插件是您在odoo服务器中的目录/

    Odoo10中的cmd:

    ./odoo-bin scaffold <module_name> <destination path where you want to create> 
    
    /odoo-bin脚手架
    
    如果您使用的是odoo-10或11,则禁止使用
    /oe scaffold Academy../my modules
    使用:
    /odoo bin scaffold new\u模块/path/to/your/odoo版本/addons

    如果您使用的是odoo8,即openerp8,则使用
    odoo.py scaffold

    但请确保您位于目录中的正确位置。 也可以在以下链接中找到教程:

    --谢谢

    这是我的答案

    cd path/to/odoo/odoo-server/
    
    然后


    现在检查/path/to/custom/addons,您将看到新模块,您可以在其中开始添加内容。

    首先更改odoo源所在的目录: /opt/odoo

    然后编写以下命令: /odoo bin scaffold my_module_名称/创建路径

    例如: /odoo-bin scaffold-odoo\u模块/Desktop/Repository我的文件结构:-

    奥多 |--插件 |--德比安 |--医生 |--设置 |--奥多宾

    要使用scaffold,必须先将cd刻录到(Odoo)文件夹,然后使用此命令

    python3-odoo-bin脚手架-模块名称-模块路径-模块路径

    如果我想在odoo/addons上创建一个名为test的模块

    我只需要使用命令:-

    python3 odoo bin脚手架试验odoo/插件

    注:-

    • 我没有包括文件结构中的每个文件夹,它只是给你 主意
    • (python3)这取决于您的python版本

    在我使用的ubuntu 20.04上安装的Odoo v14中

    odoo scaffold module_name /opt/extra-addons
    

    请告诉我你走哪条路
    cd path/to/odoo/odoo-server/
    
    ./odoo-bin scaffold new_module_name /path/to/custom/addons
    
    odoo scaffold module_name /opt/extra-addons