odoobin开发环境的正确启动姿势

文章来源:一氧化碳中毒   发布时间:2021-10-7 18:55:41   点击数:
  

改一次代码重启一次服务?修改完模块后手动启动再手动更新?学会正确的启动,可以让你每天多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服务。但为我们节省了点击更新按钮的操作。

预览时标签不可点收录于话题#个上一篇下一篇
转载请注明:http://www.lwblm.com/bzbk/12514.html
  • 上一篇文章:
  • 下一篇文章: 没有了