在线编辑器¶
Overview¶
在线编辑器允许您通过网页浏览器编辑构建的源代码。它还为您提供打开终端、Python 控制台、Odoo Shell 控制台和 笔记本 的可能性。

你可以通过 分支选项卡、构建下拉菜单,或者在你的构建域名后添加 /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 (odoo/odoo),
/src/enterprise (企业版),
/src/themes (odoo/design-themes)
要在编辑器中打开文件,只需在左侧的文件浏览器面板中双击该文件。

你可以开始进行更改。你可以通过菜单
保存更改,或者按下 Ctrl+S 快捷键。
如果您保存了位于 Odoo 服务器 addons 路径下的 Python 文件,Odoo 将会检测到该文件并自动重新加载,从而使您的更改立即生效,而无需手动重启服务器。

然而,如果更改是存储在数据库中的数据,例如字段的标签或视图,则必须更新相应的模块以应用更改。您可以使用菜单
来更新当前打开文件的模块。请注意,当前打开的文件是指文本编辑器中聚焦的文件,而不是文件浏览器中高亮显示的文件。
你也可以打开终端并执行以下命令:
$ odoo-bin -u <comma-separated module names> --stop-after-init
提交并推送您的更改¶
你可以将更改提交并推送到你的 Github 仓库。
打开终端 (
),使用
cd ~/src/user
将目录更改为 ~/src/user,使用
git add
提交您的更改,使用
git commit
提交您的更改,使用
git push https HEAD:<branch>
提交您的更改。
在最后一个命令中,
https 是您的 HTTPS GitHub 远程仓库的名称(例如 https://github.com/username/repository.git),
HEAD 是指向你最后一次提交的最新修订版本的引用,
<branch> 必须替换为你要推送更改的分支名称,如果你在开发环境中工作,最可能是当前分支。

注解
由于你的 SSH 私钥未托管在构建容器中(出于明显的安全考虑),也没有通过 SSH 代理进行转发(因为你通过网页浏览器访问此编辑器),因此你无法使用 SSH 认证自己到 GitHub。你必须使用 GitHub 仓库的 HTTPS 远程地址来推送你的更改,该地址会自动添加并命名为 https 的 Git 远程。你将被提示输入你的 GitHub 用户名和密码。如果你在 GitHub 上启用了双重身份验证,可以创建一个 个人访问令牌 并将其用作密码。授予 repo
权限即可。
注解
Git 源代码目录 ~/src/user 当前并未检出到某个分支,而是处于分离的修订版本状态:这是因为构建工作是基于特定的修订版本进行的,而不是基于分支。换句话说,这意味着您可以在同一分支上进行多个不同修订版本的构建。
一旦你的更改被推送,根据你的 分支推送行为,可能会创建一个新的构建。你可以继续在你推送的编辑器中工作,因为它将与新创建的构建具有相同的修订版本,但请始终确保你正在使用最新修订版本的分支的编辑器。
控制台¶
你可以打开 Python 控制台,这些是 IPython 交互式外壳。与在终端中使用 IPython shell 相比,使用 Python 控制台的一个最有趣的功能是 丰富的显示功能。借助此功能,你将能够以 HTML 格式显示对象。
你可以使用 pandas 来显示 CSV 文件中的单元格。

你也可以打开 Odoo Shell 控制台,尝试操作你的数据库的 Odoo 注册表和模型方法。你也可以直接读取或写入你的记录。
警告
在 Odoo 控制台中,事务会自动提交。这意味着,例如,对记录的更改会立即应用到数据库中。如果您更改了用户的名称,该用户的名称也会在您的数据库中被修改。因此,您应在生产数据库上谨慎使用 Odoo 控制台。
你可以使用 env 来调用数据库注册表中的模型,例如:env['res.users']
。
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
该类 Pretty
使您能够以美观的方式轻松显示列表和字典,使用了上述的 rich display。

你也可以使用 pandas 来显示图表。
