上一篇内容:如何快速搭建自己的ERP系统,4步源码快速安装odoo教程

了解什么是odoo的插件模块

odoo在基础的框架代码之下,可以安装自己的应用程序或者业务逻辑,也可以对原有的模块进行二次修改

注意的是odoo在自己的模块代码写好之后需要在应用中进行安装,如果有修改则需要进行对模块的升级操作

使用scaffold脚手架命令快速创建模块

我这里有自己的manage.py文件启动项目,如果不知道如何进行安装创建自己的启动路径可以看我的这篇文章:如何快速搭建自己的ERP系统,4步源码快速安装odoo教程

python 启动项目名称 scaffold 模块名称 模块创建的文件夹

  1. python manage.py scaffold fandx_stock my_addons
  • 运行完成之后启动自己的项目 -> 应用 -> 刷新本地模块列表
  • 搜索栏搜索自己的模块名称:fandx_stock,然后安装自己的模块即可

odoo插件模块目录结构

  • controllers文件夹

    • 里面可以存放一下自己写的路由方法
    • 可以在里面写一些灵活的接口方法或者视图接口
  • demo文件夹

    • 里面可以写一些测试数据,在安装模块的时候回自动写入demo数据
  • models文件夹

    • 所有的数据orm都放在里面
  • views文件夹

    • 将template模板和view的视图都放在里面,以后会详细讲解view视图的用法
  • _manifest_.py文件,相当于settings文件,其实就是每个模块对应的配置文件

    1. # -*- coding: utf-8 -*-
    2. {
    3. 'name': "fandx_stock",
    4. # 概要
    5. 'summary': "这里是fandx_stock的概要内容",
    6. # 描述
    7. 'description': "这是fandx_stock的描述内容",
    8. # 作者
    9. 'author': "FANDX",
    10. # 模块的网站地址
    11. 'website': "https://www.cnblogs.com/fandx/",
    12. # 分类
    13. 'category': 'stock',
    14. # 版本
    15. 'version': '0.1',
    16. # 依赖的模块,这里要注意相当于要引用到对应模块里面的内容
    17. 'depends': ['base'],
    18. # 加载的视图
    19. 'data': [
    20. # 'security/ir.model.access.csv',
    21. 'views/views.xml',
    22. 'views/templates.xml',
    23. ],
    24. # 加载的demo数据
    25. 'demo': [
    26. 'demo/demo.xml',
    27. ],
    28. }

下一篇内容:如何快速在odoo中创建自己的菜单

如何快速创建odoo模块,使用脚手架快速创建自己的odoo应用app的更多相关文章

  1. Maven手动创建多模块项目

    Maven手动创建多模块项目 我要创建的项目名称是:unicorn,项目包含两个模块,分别是unicorn-core和unicorn-web.包的路径是com.goldpalm.tour. 项目创建流 ...

  2. SpringCloud创建Config模块

    1.说明 本文详细介绍Spring Cloud创建Config模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 创建Config模块这个子工 ...

  3. SpringCloud创建Gateway模块

    1.说明 本文详细介绍Spring Cloud创建Gateway模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 和已经创建好的Eureka ...

  4. SpringCloud创建Eureka模块

    1.说明 本文详细介绍Spring Cloud创建Eureka模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 在里面创建Eureka模块, ...

  5. ASP.NET Core模块化前后端分离快速开发框架介绍之2、快速创建一个业务模块

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin ...

  6. 利用yeoman快速搭建React+webpack+es6脚手架

    自从前后端开始分离之后,前端项目工程化也显得越来越重要了,之前写过一篇搭建基于Angular+Requirejs+Grunt的前端项目教程,有兴趣的可以点这里去看 但是有些项目可以使用这种方式,但有些 ...

  7. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

  8. vue2.x利用脚手架快速构建项目并引入bootstrap、jquery

    要使用vue-cli脚手架搭建项目,首先需要安装node.js Node.js官网:https://nodejs.org/en/download/ 选择你对应的系统即可下载,下载完成后傻瓜式安装即可. ...

  9. 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码

    在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...

随机推荐

  1. javascript disable scroll event

    javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...

  2. JsBridge & Android WebView

    JsBridge & Android WebView webview loadUrl addJavascriptInterface .setJavaScriptEnabled(true); f ...

  3. django学习-6.模板templates

    1.前言 首先,我们要知道html是一门静态语言,里面没法传一些动态参数,也就是一个写死的html页面. 那么,如果我们想实现在一个html页面里传入不同的参数对应的参数值,这就可以用django框架 ...

  4. 【转】奇异值分解(SVD)原理详解及推导

    原文地址:https://blog.csdn.net/zhongkejingwang/article/details/43053513,转载主要方便随时查阅,如有版权要求,请及时联系. 在网上看到有很 ...

  5. 力扣1438. 绝对差不超过限制的最长连续子数组-C语言实现-中等难度

    题目 传送门 文本 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit . 如果不存在满足条 ...

  6. 微信小程序(六)-项目实例(原生框架 MINA基配搭建)==01-头搜索框tabbar

    项目实例(原生框架 MINA) 1.新建小程序项目 1.用自已的小程序APPID 2.清除整理项目中初建默认无关的代码 1.app.json 中删除logs,同时删除pages下的losgs文件夹 2 ...

  7. 处理XML数据应用实践

    摘要:GaussDB(DWS)支持XML数据类型及丰富的XML解析函数,可实现关系数据和XML数据的映射管理功能. XML概述 XML是可扩展的标识语言(eXtensible Markup Langu ...

  8. Dubbo与Zookeeper开发

    1.Dubbo 1.1RPC RPC全称是remote procedure call,即远程过程调用.比如有两台服务器A和B,它们上面分别部署了一个服务.此时B服务器想调用A服务器上提供的方法,由于不 ...

  9. 基于docker搭建jenkins

    一.概述 Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎.Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.Jenkins 支持各 ...

  10. wxWidgets源码分析(5) - 窗口管理

    窗口管理 所有的窗口均继承自wxTopLevelWindows: WXDLLIMPEXP_DATA_CORE(wxWindowList) wxTopLevelWindows; wxTopLevelWi ...