http://blog.csdn.net/wangnan537/article/details/44229369
我們知道在登錄Odoo(OpenERP)時,如果當前系統中有多個數據庫,需要先選擇數據庫再輸入用戶名、密碼進行登錄。但在實際應用中,終端用戶只在意自己的用戶名和密碼,并不關注自己使用的是哪一個庫;而且在部署SAAS應用時,我們可能并不想讓客戶看到其他人使用的庫。這時可以使用db-filter參數實現此訴求。
db-filter,顧名思義,用于數據庫過濾,使用格式為:--db-filter=,等號右側是個正則表達式,說明如下:
%h 會被替換為請求的整個主機名
%d 會被替換為請求中除www以外的子域名(因此域odoo.com和www.odoo.com都將匹配odoo數據庫)
(1)如果請求的URL為hostname.domainname.com,則%h對應hostname.domainname.com,%d對應hostname。
(2)等號右側可使用'%d'、'^%d'或者'^%d$'(^表示正則表達式的開始,$表示正則表達式的結束)
舉例來說,如果用如下方式啟動Odoo Server:
./openerp-server?--db-filter='%d'?-c /etc/odoo-server.conf &
則通過域名demo.myhost.com訪問時,系統會重定向到demo數據庫;但是如果系統中有多個數據庫名稱中含有demo,如demo2,mydemo...,則系統仍然會進入數據庫列表界面,把所有名稱含demo的數據庫都顯示在下拉列表中;
那么如何精確定位到想要的數據庫呢?要對db-filter等號右側的值略作修改,改為如下方式即可:
./openerp-server?--db-filter='^%d$'?-c /etc/odoo-server.conf &
這時候再通過域名demo.myhost.com訪問,系統會直接重定向到demo庫,而不管系統中是否有其他名稱含demo的庫。
另外,如果系統中找不到過濾的庫時(如通過域名demo.myhost.com訪問而系統中無demo數據庫),則會重定向到數據庫管理頁面。
顯而易見無須贅言的是,以上的測試需要你能(gou)訪(mai)問(le)myhost.com域名,并且已配置了二級域名demo.myhost.com。
- 開發教程
- Odoo10開發教程一(構建模塊)
- Odoo10開發教程二(基本視圖)
- Odoo10開發教程三(模型關聯)
- Odoo10開發教程四(繼承)
- Odoo10開發教程五(計算字段和默認值)
- Odoo10開發教程六(高級視圖)
- Odoo10開發教程七(工作流和安全)
- 參考手冊
- odoo V10中文參考手冊(一:ORM API)
- odoo V10中文參考手冊(指導規范)
- 技巧
- odoo 常用widget
- Odoo(OpenERP)開發實踐:菜單隱藏(1)
- Odoo(OpenERP)開發實踐:菜單隱藏(2)
- Odoo(OpenERP)開發實踐:數據模型學習
- Odoo中自動備份數據庫
- Odoo(OpenERP)應用實踐: 使用db-filter參數實現通過域名指定訪問哪個數據庫
- Odoo(OpenERP)配置文件openerp-server.conf詳解
- Odoo(OpenERP v8)數據模型(Data Model)
- odoo10學習筆記十七:controller
- Qweb定義