在线编辑器¶
在线编辑器 视图允许通过浏览器编辑构建的源代码。此外,还可以打开终端、Python 控制台、Odoo shell 控制台以及 Jupyter Notebooks。
您可以通过 分支选项卡、构建下拉菜单 访问构建的编辑器,或在构建的 URL 中添加 /odoo-sh/editor (例如 https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor)。
编辑源代码¶
工作目录由以下部分组成:
.
├── home
│ └── odoo
│ ├── src
│ │ ├── odoo Odoo Community source code
│ │ │ └── odoo-bin Odoo server executable
│ │ ├── enterprise Odoo Enterprise source code
│ │ ├── themes Odoo Themes source code
│ │ └── user Your repository branch source code
│ ├── data
│ │ ├── filestore Database attachments, as well as the files of binary fields
│ │ └── sessions Visitors and users sessions
│ └── logs
│ ├── install.log Database installation logs
│ ├── odoo.log Running server logs
│ ├── update.log Database updates logs
│ └── pip.log Python packages installation logs
您可以编辑开发和预发布构建的源代码(/src 下的文件)。正式运行构建的源代码为只读,因为在正式运行服务器上直接应用本地更改不是良好实践。
注解
您的更改不会传播到新构建中。如需持久保留,必须 将更改提交到源代码。
您的 GitHub 代码仓库的源代码位于
/src/user。Odoo的源代码位于
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
要在编辑器中打开文件,请在文件浏览器面板中双击它,然后即可编辑。保存更改请前往 ,或使用 Ctrl+S 快捷键。
如果在 Odoo 服务器的 addons 路径中保存 Python 文件,Odoo 会检测到并自动重新加载,也就是说更改会立即生效。
然而,如果更改存储在数据库中(如字段标签或视图),则需要更新相关模块才能使更改生效。要更新当前打开文件的模块,请前往 。
小技巧
您也可以使用以下命令在终端中更新模块:
odoo-bin -u <comma-separated module names> --stop-after-init
提交并推送更改¶
要将更改提交并推送到您的 GitHub 代码仓库:
前往 打开终端。
将目录切换到
~/src/user。
cd ~/src/user
设置身份标识。
git config --global user.email "you@example.com" && git config --global user.name "Your Name"
暂存更改。
git add
提交更改
git commit
推送更改。
git push https HEAD:<branch>
https是您的 HTTPS GitHub 远程存储库的名称(例如https://github.com/username/repository.git)。HEAD 是对您提交的最新修订版的引用,
<branch> 必须替换为要将更改推送到的分支的名称,如果在开发版本中工作,则很可能是当前分支。</branch>
系统会提示输入 GitHub 用户名和密码。输入凭据后按 Enter。
注解
无法使用 SSH 进行身份验证,因为出于安全原因,您的私钥不会托管在构建容器中,也不会通过 SSH agent 转发——您是通过浏览器访问编辑器的。
源代码文件夹
~/src/user并未检出到某个分支,而是处于分离的修订版本上。这是因为构建针对特定修订版本而非分支进行,所以同一分支上可以存在多个基于不同修订版本的构建。
更改推送完成后,根据 分支推送行为,可能会创建新的构建。您可以继续在推送时所用的编辑器中工作,因为它的修订版本与新构建相同。但请始终确保使用的是分支最新修订版本对应构建的编辑器。
机¶
您可以打开 Python 控制台,即 IPython 交互式 shell。使用这些 Python 控制台(而非终端中的 IPython shell)可以利用其 丰富的显示功能 以 HTML 显示对象。
Example
Pretty 类会以易读的格式显示列表。
您可以打开 Odoo shell 控制台来试验数据库的 Odoo 注册表与模型方法,也可以直接对记录进行读取或写入。
警告
在 Odoo shell 控制台中,事务会自动提交,这意味着对记录所做的更改会立即应用到数据库。例如,如果修改了某用户的姓名,该数据库中的记录也会同步更新。因此,在正式运行数据库上使用 Odoo shell 控制台时要格外谨慎。
您可以使用 env 调用数据库注册表中的模型,例如 env['res.users']。
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]