Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组
    1. 主页
    2. snowkite

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    S
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 7
    • 帖子 9
    • 最佳 0
    • 有争议的 0
    • 群组 0

    snowkite

    @snowkite

    0
    声望
    798
    资料浏览
    9
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    snowkite 取消关注 关注

    snowkite 发布的最新帖子

    • Odoo Experience 2015 PPT -part 5【高级API 和 ngo】

      Advanced Features of the API 和 vertical-ngo-150608131143-lva1-app6891&& Time tracking and production data acquisition with NFC tags for Odoo

      发布在 Odoo 文档合作
      S
      snowkite
    • Odoo Experience 2015 PPT -part 4[挣值管理和高级条码管理]

      Odoo experience 2015 earned value management  和 Advanced barcodes management

      发布在 Odoo 文档合作
      S
      snowkite
    • Odoo Experience 2015 PPT -part 3

      第三部分 😛

      发布在 Odoo 文档合作
      S
      snowkite
    • Odoo Experience 2015 PPT -part 2

      PPT 第二部分

      发布在 Odoo 文档合作
      S
      snowkite
    • Odoo Experience 2015 PPT -part 1

      不谢, 我只是odoo搬运工! 😎

      发布在 Odoo 文档合作
      S
      snowkite
    • RE: Openerp 7.0与8.0 import 方式的变化

      [quote author=mrshelly link=topic=16463.msg28315#msg28315 date=1403847037]
      黄色在哪里?????????????????????
      [/quote]

      :)不好意思, 我自己在我本地写的时候用来黄色做标注,放上来忘记加颜色了, 用黄色发现很难看, 现在改成深蓝色的了 🙂

      发布在 Odoo 开发与实施交流
      S
      snowkite
    • Openerp web 服务器相关问题总结

      系统开发完成并已经上线了, 但是一直有一个困惑存在我的脑子里, openerp 到底使用什么作为web server的?
      以前我一直认为:Werkzeug 是openerp的web server 但是后来我一查找, 发现官方对Werkzeug的定义是:Werkzeug is a WSGI utility library for Python. 并没有说Werkzeug 可以充当一个web server 。网上有很多在生产环境中配置openerp web  server 的, 比如: upstream + nginx , wsgi_mod + apache , 在openerp的源代码中也提到了 wsgi_mod +apache 及Gunicorn的配置, 这些才是真正在生产环境中可以提供web 服务的web server 那么openerp 到底使用什么提供web server, 难道它自己造了一个轮子, 带着这些问题, 查找了一些资料, 网上没有专门解释这些东西的, 经过我的总结,得出了以下结论:

      开发人员确实在开发业务功能, 确实也有一个东西在提供类似于web server 的功能, 这个东西就是Werkzeug 。以下是我在Werkzeug  官网上看到的一段话:(openerp  就是一个WSGI application, openerp 从6.1就开始兼容WSGI协议)

      There are many ways to serve a WSGI application. While you’re developing it, you usually don’t want to have a full-blown webserver like Apache up and running, but instead a simple standalone one. Because of that Werkzeug comes with a builtin development server.

      这段很明白的解释了我的困惑, 同django框架类似, 为了方便开发人员django框架也内置一个开发服务器, 但是具体到生产环境是不建议使用这种简单的 web server 的所以就有了很多的配置方式, 官方建议应该是oe+Gunicorn


      《上海并擎软件科技有限公司》——项目开发经理

      发布在 Odoo 开发与实施交流
      S
      snowkite
    • Openerp 7.0与8.0 import 方式的变化

      [color=navy][/color]上周在做oe 7.0到oe 8.0 切换的时候发现我们系统的很多的module 无法load , import的时候出错, 后来发现oe 8.0自己的addons 也都做了修改在import自己的addons的时候都加了openerp.addons 命名空间, 这是为什么, oe 8.0为什么要这么做,我找出了背后真正的原因:
      Openerp 7.0 的时候系统支持两种import 方式一种是import  <module> 一种是 import openerp .addons. <module> 这种方式,  我们自己的addons 中使用import 大部分是使用的第一种, 现在将我们的addons 迁移到8.0的时候发现很多Could't load module 的情况, 这是什么原因?

      1、 首先需要说明openerp 为什么会由两种import 方式, openerp 没有使用默认的python import 机制, 而是在python的import 机制上做了hook , 做了一个自己的importer, 也就是上面说的两种情况。

      2、7.0的两种import方式为什么到8.0的时候只剩下第二种import  openerp.addons.<module>这种方式, 却不支持第一种方式了, 这是因为为了防止import 冲突的情况, 比如:python的标准库中一个module 叫resource, 而openerp 中也有这样一个自己的module 如果使用第一种import 方式, 这个时候会出现module 混淆的问题。所以从8.0开始 openerp的 addons 必需添加openrp.addons 命名空间用来加以区分。

      3、在oe 7.0 和odoo 8.0中这个差异的具体代码是在哪里实现的呢?

      Openerp 7.0 中 server->openerp->modules->module.py 的 AddonsImportHook class 中有这样一个方法:

      def find_module(self, module_name, package_path):
              module_parts = module_name.split('.')
              if len(module_parts) == 3 and module_name.startswith('openerp.addons.'):
                  return self # We act as a loader too.

            [color=navy] # TODO list of loadable modules can be cached instead of always
              # calling get_module_path().
              if len(module_parts) == 1 and <br />            get_module_path(module_parts[0],
                      display_warning=False):
                  try:
                      # Check if the bare module name clashes with another module.
                      f, path, descr = imp.find_module(module_parts[0])
                      _logger.warning("""
      Ambiguous import: the OpenERP module %s is shadowed by another
      module (available at %s).
      To import it, use import openerp.addons.&lt;module&gt;..""" % (module_name, path))
                      return
                  except ImportError, e:
                      # Using import &lt;module_name&gt; instead of
                      # import openerp.addons.&lt;module_name&gt; is ugly but not harmful
                      # and kept for backward compatibility.
                      return self # We act as a loader too.[/color]


      而在8.0中这个方法是这样的:


      def find_module(self, module_name, package_path):
              module_parts = module_name.split('.')
              if len(module_parts) == 3 and module_name.startswith('openerp.addons.'):
                  return self # We act as a loader too.



      很明显 8.0中比7.0中少了深蓝色标注的这一部分代码, 那深蓝色的这一部分代码是做什么用的呢, 它就是兼容import <module>这种 方式的实现。 而在8.0中不再支持这种import


      《上海并擎软件科技有限公司》—— 项目开发经理

      发布在 Odoo 开发与实施交流
      S
      snowkite
    • RE: Openerp tree view 中的分页问题

      <field name="limit">20</field> 不work 呢, 我用7.0 web版

      发布在 Odoo 开发与实施交流
      S
      snowkite