范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

全球排名第一的免费开源ERPOdoo轻PaaS页面开发技术详解(一)

  本文来自《免费开源企业信息化快速开发平台 Odoo开发指南》的第二章精选内容连载。如需免费获取本书,请访问开源智造(OSCG)官网创建工作数据库
  通过前面的学习,我们应该都有一个 PostgreSQL 数据库和 Odoo 服务器供运行了。在开始使用我们的项目前还需要再创建一个 Odoo 数据库。如果您在本地安装 Odoo 并保留了默认设置,则可以通过http://localhost:8069/打开 Odoo。第一次打开时,还没有可用的数据库,此时可以看到一个用于创建数据库的页面:
  创建数据库需的信息有:Database Name:数据库的标识名称,在同一台服务器上可以有多个数据库Email:管理员的登录用户名,可以不是 email 地址Password:管理员登录的密码Language:数据库的默认语言Country:数据库中公司数据所使用的国家,这个是可选项,与发票和财务等带有本地化特征的应用中会用到Demo data:勾选此选项会在数据库中创建演示数据,通常在开发和测试环境中可以勾选
  如果在 Odoo 的服务端配置中添加了 master password,还会要求输入该密码。这可以阻止未经授权的用户执行相关管理员操作,默认情况下不会设置该密码。 点击 Create database 按钮后,会开始初始化数据库,整个过程可能会需要一到几分钟,结束后会自动登入后台。
  登录界面底部有一个 Manage Databases 的链接,点击进入会可以看到当前可用的数据库,可对它们进行备份、复制和删除操作,当然还可以创建新的数据库。直接进入的地址为:http://localhost:8069/web/database/manager
  " 小贴士:数据库管理器可进行一些管理操作,默认开启且没有保护措施。虽然对于开发来说这样非常方便,但即便是在测试或开发环境,对包含有真实数据的数据库都存在安全风险。建议设置一个复杂的管理密码甚至最好是关闭这一功能(在配置文件中设置 list_db = False)"
  现在我们已有经了 Odoo 实例和数据库,下一步就是开启开发者模式这个用于实现我们项目的工具。开启开发者模式
  要实现我们的项目,这里需要用到开发者模式所提供的工具。开发者模式使我们可以在用户界面中直接对 Odoo 应用进行自定义操作。这有利于我们快速修改和添加功能,可用于进行一些添加字段的小调整乃至像创建带有多个模型、视图和菜单项的应用这样的复杂自定义开发。
  但这种直接在用户界面执行的自定义开发相对于在后续章节讲到的编程工具而言也有其局限性,如它无法添加或扩展默认的 ORM 方法(虽然有时自动化动作足以作为一个替代方案)。它也不易于集成到结构性开发流,如版本控制、自动化测试、部署到多环境(质量测试、预发布和生产环境)。
  本文我们主要使用开发者模式来介绍在 Odoo 框架中应用配置是如何组织的、如何在开发者模式下进行简单的自定义和快速列出所要实现方案的框架或原型。进入 Settings > Dashboard, 即可在右侧下方看到Activate the developer mode链接,点击该链接即可开启开发者模式(Odoo 9.0版本及其以前的版本,开发者模式在 User 菜单的 About 对话框窗口中进行开启)。
  在该页面我们还会看到一个Activate the developer mode (with assets)的选项,这个用于不对静态文件进行压缩,通常用于调试前端代码,开启后浏览的速度也会略慢。为加快加载速度,客户端中的 JavaScript 和 CSS 文件通常会被压缩。但这也导致我们很难对前端代码进行调试,Activate the developer mode (with assets)选项会把这些静态文件按照独立文件、非压缩的方式进行加载。
  我们也可以通过修改当前的 URL 来进入开发者模式,这样就无需进入 Settings 页面,仅需修改链接中的…/web#…为…/web?debug#…或…/web?debug=assets#…,比如修改http:///localhost:8069/web#home为http://localhost_8069/web?debug#home。虽然没有直接的链接来开启前端框架的开发者模式,但也可以通过在前端页面URL上添加?debug=assets 来取消静态文件的压缩, 但需要注意在我们进入其它页面时这个标记可能就会消失。
  " 小贴士:Firefox 和 Chrome均提供开启和取消开发者模式的插件,请在火狐或 Chrome 的应用商店中搜索 Odoo debug 进行安装"
  开发者模式一经开启,在菜单中就会增加两个选项:开发者工具菜单,以调试图标的形式出现在右上角用户名和头像的左侧Settings 中的 Technical 菜单项
  开发者模式还会在表单字段上添加一个额外信息:将鼠标悬停在字段上方,就会显示一些相关技术信息。下一部分我们一起来学习相关的开发者模式功能。为已有模型添加字段
  为已有表单添加字段是种常见的自定义操作,我们无需创建自定义模块即可在用户界面中进行实现。就我们 To-do 应用而言,需要可以选取一组用户对 To-do 项进行协作。我们可以通过在 partner 表单中添加标识来找到这些用户,那么接下来为 partner 模型添加一个Is Work Team?标记。
  Partner 模型是 Odoo 内核自带的,无需安装任何应用即可使用,但这样在菜单中会无法查看到。一个简单的方法是安装 Contacts 应用。没安装的朋友可以点击 Apps 菜单搜索该应用并进行安装:
  安装完成后即可在顶级菜单中找到 Contacts 项。为模型添加字段
  开启开发者模式后,我们可通过菜单Settings > Technical > Database Structure > Models 来查看模型的定义。这时搜索 res.partner(未安装其它应用的情况下第一个即是),对应的模型描述为 Contact。点击打开表单视图,这时就可以看到 partner 模型的各类信息,包含字段列表:
  点击 Edit,然后在字段列表的最下端点击 Add a line,即会弹出窗口用于创建新字段,输入:Field Name: x_is_work_teamField Label: Is Work Team?Field Type: Boolean
  字段名(Field Name)必须以 x_开头,这是在用户界面创建模型和字段强制要求的(否则保存时会提示Custom fields must have a name that starts with ‘x_’ !),通过插件模块的自定义开发不受这一限制。只修改添加以上信息点击Save & Close保存即可。 这个模型有80多个字段(如未安装 Contacts 仅50多个字段),我们需要通过右上角的向右箭头浏览到最后一页才能看到新创建的字段。这时再点击左上角的 Save 按钮进行最终的保存。为表单视图添加字段
  我们已经为 partner 模型创建了新字段,但对用户仍不可见,要实现这点我们还要在相应的视图中进行添加操作。再回到前述的 res.partner模型详情页,点击 Views 标签,我们就可以看到模块的各个 view 定义。正如所见,每个视图都是一条数据库记录,修改或添加视图记录即时生效,在下一次加载视图时即可见:
  视图列表中有一些需要注意的事项,我们看到有不同的视图类型(View Type),如表单视图(Form)、树状列表视图(Tree)、搜索视图(Search)和看板视图(Kanban)。搜索视图指的是右上角搜索框中的过滤选项。其它视图的数据展示方法也各不相同,基本的类型有列表视图和表单视图(用于查看详细信息)。
  " 小贴士:树状视图(Tree) 和 列表视图(List) 实为同一视图,实际上Odoo 中的为列表视图,树状视图的名称是由历史原因产生的 – 过去列表视图是以树状层级结构来进行展示的。"
  可以看到同一视图类型存在多个定义,通过 View Type 进行排序可以更清晰地看出。每种视图类型(如表单视图)可以有一个或多个base视图定义(包含空的继承视图字段)。菜单项使用窗口动作(Window Action)可以指定要用到的base视图,如果没有定义,将使用排序值(Sequence)最低的,因而可将其视为默认视图。 点击视图,可以在表单中看到包含排序值在内的所有详情:
  每个base视图都可以有多个扩展,称为继承视图。每个继承视图可以对base视图添加修改,如对已有表单添加字段。
  " 小贴士:继承视图自身也可以被其它视图继承,这时最外层继承在内层继承执行后作用于base视图。"
  res.partner 模型会包含众多的视图定义,因为类似我们的很多应用都需要对其进行扩展。一个替代方法是进入我们需要扩展的某一具体视图,使用开发者工具菜单对其进行编辑。这也可用于了解某一视图在用户界面的某处被使用了。下面我们就来进行操作:
  1. 点击 Contacts 应用显示联系人名片列表,然后点击任意名片进入相应的表单视图:
  2. 在表单视图界面,点击开发者工具菜单(右上角调试图标)并选择编辑视图(Edit View:Form),这时可以看到与前述模型页面相同的视图详情表单,但展示在实际定义使用base视图之上。也就是res.partner.form视图,通过External ID可以查看模块所有者。本处为base.view_partner_form,所以我们知道这个视图属于base模块。在Architecture字段中,我们可以看到base视图定义的 XML 代码。我们可以在这里编辑视图结构并添加我们的新字段,但从长期看这不是一个好办法:这个视图属于一个插件模块,一旦模块被更新,自定义的代码就会被覆盖并丢失。修改视图的正确姿势为创建一个继承视图(Inherited Views)扩展:
  4. 使用继承视图标签我们可以为 base 视图添加扩展视图:首先我们需要在原始视图选择一个元素作为扩展点,我们可以通过查看 base视图的结构选择一个包含 name 属性的 XML 元素,大多数情况选择的是一个<field>元素,此处我们选择<field name="category_id"…>元素:
  现在,点击开发者工具菜单,然后点击编辑视图(Edit View:Form),选择继承视图(Inherited Views)标签回到前述的界面,然后点击最下方的 Add a line链接
  此时会弹出名为Create Views which inherit from this one的窗口,填入如下内容
  View Name: Contacts – Custom "Is Work Team" flag
  Architecture:输入如下 XML代码<field name="category_id" position="after">
  <field name="x_is_work_team" />
  </field>
  其它重要字段,如 Model, View Type 和 Inherited View 使用默认值即可
  此时点击 Save & Close按钮,然后在Edit View: Form 窗口点击Save按钮
  在保存修改后重载联系人表单视图页面即可查看到变化,在大数浏览器中可以使用 F5快捷键来重载页面。这时打开任意联系人名片,可以看到右侧 Tags 字段下会多出一个新字段:
  来源:开源智造(OSCG) - 源自欧洲,业界领先的免费开源ERP Odoo金牌服务机构

洛雪音乐助手forMac(无损vip音乐免费下载利器)还在苦苦寻找无损vip音乐免费下载软件?小编为大家带来洛雪音乐助手mac版下载,mac洛雪音乐助手是一款小巧的音乐播放下载器,主界面简单明了。该软件涵盖了QQ音乐酷我音乐网易音乐等如何使用AppleWatch控制Mac上的音乐用你的苹果手表来播放暂停或跳过你的Mac电脑上播放的音乐,无论是因为打电话时音乐声太响,还是因为你在咖啡机旁边而声音不够大。您在厨房中忙而iMac播放AppleMusic听起来可能靠谱年会资料大全(策划方案节目游戏音乐),离职的看了也想来温馨提示阅读前,请点击右上角关注,每天可以免费获取我分享的关于人力资源和管理的干货实战内容。什么样的年会创意是最给力的什么样的年会音乐是最震撼的什么样的年会节目是最创意的什么样的年腾讯责令删除网络音乐独家版权30天内整改多年来,各大音乐平台的版权纠纷让用户苦不堪言。例如,拥有周杰伦独家版权的腾讯音乐不能在任何其他平台下载和收听周杰伦歌曲。在这方面,已经有报道称监管机构将解决这种情况并结束这种独家版南卡N2真无线蓝牙耳机带给你不同凡响的音乐之旅前言如果现在让你选择一副耳机作为平常使用你会选择什么样的耳机好呢?毫无疑问我会选择无线蓝牙耳机。不要问我为什么,因为我的手机只有一个插口,而这个插口一般都会被充电线所占用。随着时代丰田章男欢迎苹果进军汽车业,但至少要锻炼40年丰田总裁丰田章男在周四担任日本汽车制造商协会主席的新闻发布会上表示,欢迎苹果加入汽车行业,但苹果公司至少应该为40年的服务和支持做好准备。丰田章男称,只要有技术能力谁都可以造车,但91十条LG麦格纳将为苹果试量产汽车,百度滴滴获自动驾驶牌照1宏光MiniEV以39745辆的销量跻身3月新车榜第三名。业界普遍认为,该车的热销的核心还是绝对低价,再次证明了一个道理在需求多元的中国车市,一辆畅销车可以不必是面面俱到的水桶车超低价无源书架箱试听,标签7英寸低频40KHz高频易推大牌即使是小白其实也知道,音箱是烧无止境的。尽管它和玩单反一样有穷三代的说法,但和单反不同的是其实音箱有很多平民级的机型可选。而且在目前的市场环境里,我个人甚至觉得玩音箱没那么容易上瘾珍惜吧,这可能是HyperX在金士顿旗下最后的一款游戏耳机在前些日子得知金士顿旗下品牌HyperX被惠普收购后,当时还有些诧异,不过想想也很正常。毕竟HyperX在金士顿旗下短短几年就成长为一线外设品牌的成绩是有目共睹的。具体移交日期我没野心勃勃的国产旗舰5动铁耳塞试听,8KHz之前峰谷值相差不足4dB这是一个曾经差点做不下去的国产的耳机品牌,不过机缘之下因为打开了日本市场局面,继而在国内HiFi市场也站稳了脚跟。而且更有意思的是,在主品牌即将走不下去的,官方又延伸出一姊妹品牌,新能源汽车专利榜单公布传统车企长于发明,新势力强于外观科技与创新是新能源汽车的发展重心,而专利申请数量,是新能源汽车厂商创新能力的集中体现。近日,企查查大数据研究院公布了新能源汽车专利20强企业榜单,榜单中我们可以看到,比亚迪拥有总计
带彩屏的电动牙刷见过没?OcleanXPro旗舰版大家好,我是手撕鲈鱼,一个经常被误认为体育老师的小学网管。最近和家里人聊天悟出一个道理,每个人头上都长了一栋别墅,嘴里都含着辆豪车,头上自然指的是头发,就算强如彦祖,秃了以后也影响高性能SSD中的性价比之选,大华C900PLUS对于一个装机党来说,硬盘是永远不嫌多的,尤其是高性价比的硬盘,大华C900PLUS固态硬盘显然就在此列。况且眼下我升级PCIe4。0的动力并不是很足,主要是没有显卡PCIe3。04手腕上的安卓旗舰,OPPOWatch2我一直对OPPO的一系列产品抱有好感,给我的感觉OPPO是很好的应对了消费者的使用需求的,也和我自己一贯的选购标准一样,更重体验而非重参数。我们一家人都是OPPO手机用户,同时我已摩托罗拉展示隔空充电,真气一吐,3米之内4机齐充随着手机性能的提升,耗电量也跟着上涨,市面上主流的机型要一天一到两次充电才能满足需求。为了提升手机的续航体验,近年来推出了快充技术无线充电技术,现在隔空充电技术也已经出现。在今年1懒人的终极福音,清易自集尘扫拖机器人之前刚给我那住顶复大平层的哥们料理完他家的网络,最近又让我帮忙给他家添点智能家电,尤其是这个扫地机器人对他来说也算是刚需了,谁让这货是个懒人,偏偏他又很宅,打扫卫生这样的活家人总想华为发布欧拉操作系统,面向服务器云计算等数字基础设施9月25日,华为在全联接大会上正式发布面向数字基础设施的开源操作系统欧拉(openEuler)。华为称,欧拉操作系统可广泛部署于服务器云计算边缘计算嵌入式等各种形态设备,应用场景覆华为全联接2021福州专场即将举办,专场亮点提前知9月23日,华为全联接2021福州专场将于福州物联网产业创新发展中心举行。除了华为(福州)物联网云计算创新中心合作的马尾区优秀标杆案例展示,此次活动还邀请到重磅IoT产品专家和物联你以为它就是听个响?其实它是个性能怪兽,SonosRoamSL体验分享Sonos是一个让我比较特殊的音响品牌,它走的无线连接,无限拓展的路线目前看好像只此一家,别无分号。每一款产品都可以连入到同一个系统中,不断的丰富,十分方便构建一整套完整的家庭音响黑爵i303pro没机会成为罗技G304对手,但它是最接近的2年前的618,罗技G304的异军突起打破了无线鼠标不能游戏的限制热销至今。虽然在配置供电方式和做工用料上相比GPW差距很大,但作为200元价位的鼠标,它的三大杀手锏LIGHTSP4000块的双英吃鸡电脑,用的是16G大内存和GTX1660!山外青山楼外楼,电脑问题找雨星,大家好我是雨星。可能是AMD前几年的口碑的确不好吧,现在很多人买电脑装机都选择英特尔和英伟达的产品。AMD的CPU和显卡他们从来不会选,因为前几年的沙发管家智能电视的HDMI接口有哪些用处?智能电视诞生以来,各类接口也开始越来越丰富,以前在CRT电视机上不常见的VGA接口USB接口网线接口HDMI接口等等,都在智能电视上出现了,而且各有各的用途,今天小编就给大家来讲讲