Оду - леса?

Я читаю здесь, что вы можете подделать модуль с помощью команды, поэтому вам не нужно вручную создавать некоторые начальные файлы. Но такая команда не работает на master (на ветке разработки Odoo):

./oe scaffold Academy ../my-modules

Поскольку в каталоге openerp нет такого файла с именем oe. Это изменилось в новейшей версии? Как я могу закрасить модуль в Odoo?

Ответы

Ответ 1

  • В оболочке или терминале измените каталог на свою папку с odoo. Может быть, это в /opt/odoo, или, может быть, в /home/odoo:

    cd /opt/odoo
    
  • Создайте новый модуль, используя odoo.py script:

    ./odoo.py scaffold my_new_module ./addons/
    

(где my_new_module - это имя вашего нового модуля, а. /addons/ - каталог аддонов Odoo)

  1. Отредактируйте файл. /addons/my _new_module/__openerp__.py.

    nano ./addons/my_new_module/__openerp__.py
    
  2. Измените поле имени, чтобы установить удобное имя вашего модуля (например, "Andrius New Module" ). Измените описание и поля. И добавить нужные модули, такие как "почта", в список зависимостей модулей зависят.

    'depends': ['base', 'mail'],
    
  3. Изменить models.py

    nano ./addons/my_new_module/models.py
    
  4. Добавьте код в свой файл my_new_module/models.py, например:

from openerp import models, api

class FooterlessNotification(models.Model)
    _inherit = 'mail.notification'

    @api.model
    def get_signature_footer(self, user_id, res_model=None, res_id=None, context=None, user_signature=True):
        return ""

(В качестве примера этот код расширит модель "mail.notification" и заменит его метод get_signature_footer тем, который возвращает пустой нижний колонтитул.)

  1. Установите модуль через настройки Odoo.

Чтобы найти его, вам может понадобиться опция "Обновить список модулей".

Если вы не можете найти опцию "Обновить список модулей", вам может потребоваться включить флажок "Технические характеристики" в ваших текущих пользовательских настройках.

Чтобы отобразить Модули, а не только Приложения, удалите тег "Приложения" из фильтра окна поиска, щелкнув небольшую "x" перед тегом.

Ответ 2

Вы можете использовать . /odoo -bin scaffold module_name/odoo/odoo-server/addons/

или

./. Око-бин-эскиз module_name/odoo/odoo-server/custom_addons/

Здесь custom_addons - это ваш каталог в odoo-server/

cmd в Odoo10:

./odoo-bin scaffold <module_name> <destination path where you want to create> 

Ответ 3

Используйте odoo.py вместо oe:

./path/to/odoo/odoo.py scaffold my-module

Ответ 4

Из документации по отдельным документам правильный способ создания модуля:

odoo.py scaffold [name of module] [desired path of module]

Также я рекомендую вам использовать разные аддоны для вашего модуля и не использовать odoo/addons, вы можете создать новый каталог, в котором хотите, а затем добавить этот каталог в конфигурацию odoo или выполнить odoo с этим аддоном с момента запуска

odoo.py --addons-path=[full path to your dir]

Ответ 5

Я установил ODOO 9 в AWS в каталоге /opt/odoo.

Итак, сначала я меняю каталог:

 cd /opt/odoo

затем выполняется:

 odoo.py scaffold modulename ./addons/

дает следующую ошибку msg:

 odoo.py command not found

правильная команда, которая работает для меня:

 sudo python odoo.py scaffold modulename ./addons/

Надеюсь, что это поможет.

Ответ 6

Другая версия

\###### begin ########

import sys

from openerp.cli import scaffold

sf = scaffold.Scaffold()

sf.run (sys.argv[1:])

\####### end #########

Сохраните script в верхней части папки openerp. Затем выполните с помощью:

$ python (your-script-name) --help

или

$ python (the-script-name) --init Academy --dest my-modules --model academy --controller academy --web --theme

Ответ 7

Установили ли вы источник или пакет.

Для источника вам нужно сделать

./odoo.py scaffold [module_name] [where_to_put_it]

если из пакета вам нужно сделать

 odoo.py scaffold [module_name] [where_to_put_it]

[where_to_put_it] обычно является вашим аддоном, путь к аддонам может варьироваться в зависимости от вашего метода установки.

Нет необходимости создавать модуль в папке аддонов. Но это рекомендуется сделать. Вы можете добавить новый путь аддонов на

odoo.py --addons-path=[where_to_put_it]

Для структуры модуля ссылка и для создания модуля.

Ответ 8

В некоторых случаях необходимо передать файл python Odoo в приложение Python для выполнения.

python odoo.py scaffold modulename addons-path

Ответ 9

./ "путь к файлу odoo.py" /odoo.py scaffold my-module./ "path для вашего нового аддона" /

заменить qoutes на свой путь

Ответ 10

Откройте терминал и введите следующую команду:

cd path/to/your/odoo-version/

./odoo-bin scaffold new_module /path/to/your/odoo-version/addons

Затем перейдите в /path/to/your/odoo -version/addons и обновите, вы увидите, что будет присутствовать "new_module".

Ответ 11

Я предлагаю вам сделать первый шаг к Git clone odoo. Создайте каталог/папку, а вы Git clone odoo в своем каталоге/папке. После этого запуска, python odoo.py scaffold addons test123. Поместите или добавьте модуль в папку/папку, чтобы убедиться, что odoo может быть прочитан вашим модулем.

Ответ 12

Возможно, этот код поможет. Сохраните его как moe.py или все, что вам нужно.

from openerp.cli import scaffold

sf = scaffold.Scaffold()

#sf.run(["--help"])

sf.run (["--init","Academy","--model","academy","--controller","academy","--web","--theme"])

Я все еще новичок в программировании на Python. Если кто-то может улучшить способ отправки аргументов функции run(), это было бы здорово.