美文网首页
odoo二开经验controllers(1) dbfilter

odoo二开经验controllers(1) dbfilter

作者: grey_27 | 来源:发表于2019-08-12 22:33 被阅读0次

在odoo中使用controllers,继承http.controllers类 再写路由方法就完成了一个简单url映射,在网页中输入网址就可以正常访问了.
但是在代码中使用requests访问,结果一直报404,然而网页访问地址完全正常,查了下是没有指定数据库的原因,对比下代码和网页请求后台显示的请求信息,代码访问的werkzeug中缺失数据库一项,百度的文章都是说在conf中配置db_filter参数,结果并没有卵用,还是得靠谷歌,最后才发现这个参数应该是dbfilter

设置dbfilter有两种方式,填入参数是一个正则表达式,不过一般都是指定一个数据库,所以进行完全匹配要加上^$,保证匹配的准确度,
  • 命令行启动时增加参数--db-filter ^db_name$
  • 配置文件写入参数 dbfilter = ^db_name$

指定数据库还有一种高级玩法,你就是按照你的域名进行指定数据库

  • 按照子域名进行选择 dbfilter = ^%d$ 在一个url中如www.abc.domain.com ,abc即使你的二级域名,此时会指定打开abc的数据库,如果你不进行完全匹配dbfilter = ^%d 则只会按正则匹配的结果可以列出abc开头的所有的数据库。注意如果你用127.0.0.1进行范围匹配规则会认为你的127为二级域名。
  • 或者直接在conf文件中配置url对应db
# 域名_db = 数据库名
abc.odoo.com_db = abc
grey.odoo.com_db = grey

相关文章

网友评论

      本文标题:odoo二开经验controllers(1) dbfilter

      本文链接:https://www.haomeiwen.com/subject/cgnpjctx.html