Odoo 奥多脚手架?
我了解到,您可以使用命令构建模块,因此不需要手动创建一些初始文件。但是这样的命令在master上不起作用(在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
因为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
/opt/odoo
中,或者可能在/home/odoo
中:
cd /opt/odoo
./odoo.py scaffold my_new_module ./addons/
nano ./addons/my_new_module/__openerp__.py
'depends': ['base', 'mail'],
nano ./addons/my_new_module/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方法替换为返回空页脚的方法。)
要显示模块,而不仅仅是应用程序,请单击标记前的小“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版本
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