zoukankan      html  css  js  c++  java
  • Odoo10实战一:模块创建

    原文地址:http://www.cnblogs.com/ygj0930/p/7061812.html

    一:配置准备

    我们在odoo10源码的debian目录下找到odoo.conf文件,这就是odoo10的配置文件。我们可以拷贝它到项目根目录下进行修改,然后在pycharm中指定项目的启动配置为根目录下的odoo.conf。也可以直接修改debian目录下的odoo.conf,指定项目启动目录为这个conf文件的所在路径(不过不建议这样做,因为会覆盖掉默认配置,不方便出错后还原)

    我们在odoo.conf中,修改Postgresql的主机地址、账户、密码等,并配置模块的存放路径,一般为  XXXXodooaddons。

    实际开发时,为了避免与odoo自带模块所混淆,我们一般把自己的模块放到其他文件夹去。

    所以,在addons_path后面加上我们单独存放模块的文件夹名:

    复制代码
    [options]
    ; This is the password that allows database operations:
    ; admin_passwd = admin
    db_host = 127.0.0.1
    db_port = 5432
    db_user = odoo
    db_password = odoo
    addons_path =addons,myaddons
    复制代码

     

    二:新建模块

    在myaddons目录下,新建一个文件夹,作为模块所在目录。

    在其中,新建

    __init__.py与__manifest__.py(odoo8中叫__openerp__.py)两个文件,则把该目录转变成了模块,Odoo依赖这两个文件去识别一个文件夹下是否保存一个模块。

     

    三:修改__manifest__.py

    该文件里保存了一个dict对象,对象内容是整个模块的描述,用于显示在模块的详情页。

    一般信息有:(不需要全写,需要的才写,避免出现空的值造成安装报错(IOERROR:file not found))

    复制代码
    {
        'name':"模块名称",
        'summary':"模块概述",
        'version':'版本',
        'category':'模块所属分类',
        'sequence':模块在应用菜单中的序号位置,
        'author':'开发者名字',
        'website':'网站',
        'depends':['依赖模块(需要用到其他模块的内容,则填写依赖模块的名字)在安装本模块时,会先安装依赖模块'],
        'data':['数据文件.xml'],
        'qweb':['视图文件.xml'],
        'demo':['默认添加的示范数据.xml'],
        'test':['测试数据.xml'],
        'installable':True,
        'application':True,
        'auto_install':False,
        'description':'''模块详细描述''',
    }
    复制代码

     installabel

    默认True,可设为False禁用该模块
    auto_install
    默认False,如果设为True,则根据其依赖模块,如果依赖模块都安装了,那么这个模块将自动安装,这种模块通常作为胶合(glue)模块。
    application
    默认False,如果设为True,则这个模块成为一个应用了。你的主要模块建议设置为True,这样进入Odoo后点击本地模块,然后默认的搜索过滤就是 应用 ,这样你的主模块会显示出来。
     

    四:为模块添加图片

    新建static目录,创建descrpition文件夹。

    在其中,放入一个名为"icon"的图片文件,切记:odoo依靠文件名来识别,所以必须是icon命名。

    之后,就可以在应用列表看到自己的模块了。

     

    五:__init__.py的使用

    该文件用于导入模块中需要用到的python类文件。

    为了方便管理,我们一般这样做:

    新建一个models文件夹,在其中存放python的实体类。models目录下新建一个__init__.py,在其中import 该目录下所有实体类。

    然后在模块的__init__.py中,Import models 即可。

  • 相关阅读:
    EF CORE EntityFrameworkCore中关系模式一对一、一对多、多对多的使用
    C# LINQ中Join与GroupJoin的区别
    C#中HttpWebRequest、WebClient、HttpClient的使用
    .Net 性能优化--EFCore(EntityFrameworkCore)
    .Net 性能优化--缓存--分布式缓存
    .Net 性能优化--缓存--http缓存
    .Net 性能优化--缓存--分布式缓存 --sqlserver缓存
    .Net 性能优化--缓存--分布式缓存--reids缓存
    获取Kafka每个分区最新Offset的几种方法
    Wireshark使用入门
  • 原文地址:https://www.cnblogs.com/qjtjh/p/8269595.html
Copyright © 2011-2022 走看看