在线代码编辑器¶
概述¶
在线编辑器允许您从 Web 浏览器编辑构建的源代码。它还为您提供了打开终端,Python控制台,Odoo Shell控制台和“Notebooks <https://jupyterlab.readthedocs.io/en/stable/user/notebook.html>”_的可能性。
您可以通过 分支选项卡, 构建下拉菜单 或通过将 /odoo-sh/editor 添加到您的构建域名(例如 https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor)来访问构建的编辑器。</odoosh-gettingstarted-builds-dropdown-menu></odoosh-gettingstarted-branches-tabs>
编辑源代码¶
工作目录由以下文件夹组成:
.
├── 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 (odoo/enterprise),
/src/themes (odoo/design-themes)。
要在编辑器中打开文件,只需在左侧的文件浏览器面板中双击它即可。
然后,您可以开始进行更改。您可以使用菜单 :menuselection:`File –> Save ..文件“或按 :kbd:”Ctrl+S“ 快捷方式。
如果您保存的Python文件位于Odoo服务器插件路径下,Odoo将检测到它并自动重新加载,以便您的更改立即反映出来,而无需手动重新启动服务器。
但是,如果更改是存储在数据库中的数据(如字段的标签或视图),则必须更新相应的模块才能应用更改。您可以使用菜单更新当前打开的文件的模块:menuselection:Odoo -->更新当前模块
。请注意,被视为当前打开的文件是文本编辑器中聚焦的文件,而不是文件浏览器中突出显示的文件。
您也可以打开终端并执行以下命令:
$ odoo-bin -u <comma-separated module names> --stop-after-init
提交并推送更改¶
您可以提交更改并将其推送到 Github 存储库。
打开终端(
),使用
cd ~/src/user
将目录更改为 ~/src/user,使用 :code:`git add`暂存您的更改,
使用
git commit
提交更改,使用
git push https HEAD:
推送您的更改<branch>。</branch>
在最后一个命令中,
https 是您的 HTTPS Github 远程存储库的名称(例如 https://github.com/username/repository.git),
HEAD 是对您提交的最新修订版的引用,
<branch> 必须替换为要将更改推送到的分支的名称,如果在开发版本中工作,则很可能是当前分支。</branch>
注解
不使用 SSH Github 远程,因为您的 SSH 私钥未托管在构建容器中(出于明显的安全问题),也不会通过 SSH 代理转发(当您通过 Web 浏览器访问此编辑器时),因此您无法使用 SSH 向 Github 验证自己的身份。您必须使用Github存储库的HTTPS远程来推送更改,这些更改会自动添加到Git远程中,命名为*https*。系统将提示您输入 Github 用户名和密码。如果您在 Github 上激活了双因素身份验证,则可以创建“个人访问令牌<https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>”_ 并将其用作密码。授予“存储库”权限就足够了。
注解
Git 源文件夹 ~/src/user 不是在分支上签出的,而是在分离的修订版上签出的:这是因为构建工作是在特定修订版而不是分支上。换句话说,这意味着您可以在同一分支上拥有多个构建版本,但具有不同的修订版。
推送更改后,根据你的 branch push behavior,可能会创建一个新的构建版本。您可以继续在推送的编辑器中工作,因为它将具有与创建的新版本相同的修订版本,但始终确保在使用分支最新修订版本的生成编辑器中。</odoosh-gettingstarted-branches-tabs-settings>
机¶
你可以打开Python控制台,它们是“IPython交互式shells<https://ipython.readthedocs.io/en/stable/interactive/tutorial.html>”_。在终端中使用Python控制台而不是IPython shell的最有趣的补充之一是“丰富的显示<https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>”_功能。因此,您将能够以HTML格式显示对象。
例如,您可以使用“pandas <https://pandas.pydata.org/pandas-docs/stable/tutorials.html>”_来显示CSV文件的单元格。
您还可以打开 Odoo Shell 控制台来使用数据库的 Odoo 注册表和模型方法。您也可以直接读取或写入您的记录。
警告
在 Odoo 控制台中,事务会自动提交。这意味着,例如,记录中的更改可以有效地应用于数据库中。如果更改用户名,则该用户的名称也会在数据库中更改。因此,您应该在生产数据库上谨慎使用Odoo控制台。
您可以使用 env 调用数据库注册表的模型,例如 :code:’env[‘res.users’]’。
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
类 Pretty
使您可以使用上面提到的“富显示<https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>”_以漂亮的方式轻松显示列表和字典。
您还可以使用“pandas <https://pandas.pydata.org/pandas-docs/stable/tutorials.html>”_ 来显示图表。