改一次代码重启一次服务?修改完模块后手动启动再手动更新?学会正确的启动,可以让你每天多10分钟去撩obj。
废话不多说,为心急的同志直接上命令:
odoo-bin-c配置文件-d指定数据库-u要自动更新的模块--devall
xml,reload#例:odoo-bin-codoo.conf-dtest-uacademy--devxml,reload
使用该命令时,可以达到如下效果:
修改了后台的python代码会自动重新加载代码
修改了xml前台直接刷新就可以看到效果
如果修改了model或者平时需要手动更新的文件,重启下odoo服务就可以,无需手动点更新
接下来,给大家详细介绍各个参数。
修改文件后自动重新加载很多人在开发的时候都会使用--dev=all,下边是官方文档的介绍:
--devfeature,feature,...,feature
all:激活下面所有的功能
xml:从xml文件而非数据库直接读取模板。一旦在数据库中修改了模板,在下一次更新/初始化之前它将不会从xml中进行读取。
reload:更新python文件时重新启动服务器(根据使用的文本编辑器可能无法检测到)
qweb:当节点包含t-debug=debugger时qweb模板将在此断点
(i)p(u)db:在请求引发错误时,将会启动相应的python代码调试器。
当我们使用--devxml时,我们更改了xml文件中的内容,比如:视图,那么无需重启,前台页面刷新即可看到效果,但如果xml的修改包括菜单,那么需要重启并更新应用才能看到更改效果。
当我们使用--devreload时,很多人可能会发现修改了python代码(比如:模型中的函数、控制器等),服务并没有重启,还需要手动重启服务才能看到效果。我们需要安装watchdog这个包才可以:
#在命令行执行pipinstallwatchdog
小提示:
当安装好后,需要重启odoo才会生效。watchdog是通过监测文件的变化来重新加载的,而pycahrm的默认保存机制是:1.切换文件2.pycharm失去焦点3.手动ctrl+s.当然也可以设置修改完过n秒保存。
3.其他两个参数qweb与(i)p(u)db,是用来调试的,实际开发中很少使用,本文暂不讨论。
告别手动更新的两个参数通过-u模块名可以让系统在启动的时候直接对该模块进行更新,但是该参数需要配合-d数据库来使用,-d用来指定odoo启动使用的数据库,只有指定了数据库后,odoo-bin才知道去哪个数据库中升级模块。
小提示:
-d参数也可以写到odoo.conf文件中,在conf文件中指定db_name后,启动时就不需要加-d了。
#odoo.conf示例:db_name=testhrdb_host=Falsedb_port=Falsedb_user=odoodb_password=addons_path=./addons,./custom_addons#odoo-bin使用以上配置文件启动开发环境./odoo-bin-codoo.conf-uacademy--devxml,reload
-u在配合--devreload使用时,如果我们修改的是model中的字段,仍然需要手动重启odoo服务。但为我们节省了点击更新按钮的操作。
预览时标签不可点收录于话题#个上一篇下一篇