web-dev-qa-db-ja.com

Odoo-足場?

私は here を読みます。コマンドを使用してモジュールを足場することができるため、いくつかの初期ファイルを手動で作成する必要はありません。しかし、そのようなコマンドは(Odoo開発ブランチ上の)マスターでは機能しません。

./oe scaffold Academy ../my-modules

Openerpディレクトリにoeという名前のファイルがないためです。これは最新バージョンで変更されましたか? Odooでモジュールをスキャフォールドするにはどうすればよいですか?

24
Andrius

現在、odoo 10以降のバージョンでは、odoo.pyに組み込まれたodoo-binを使用しています。

  1. シェルまたはターミナルで、ディレクトリをodooフォルダーに変更します。多分それは/opt/odoo、またはおそらく/home/odoo

    cd /opt/odoo
    
  2. Odoo.pyスクリプトを使用して新しいモジュールを作成します。

    ./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の新しいモジュール」など)。説明とフィールドも変更します。そして、必要なモジュール( 'mail'など)を、依存関係のあるモジュールのリストに追加します。

    '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」をクリックして、検索ボックスフィルターからタグ「アプリケーション」を削除します。

29
Chris Coleman

./odoo-bin scaffold module_name/odoo/odoo-server/addons /を使用できます。

または

./odoo-bin scaffold module_name/odoo/odoo-server/custom_addons /

ここで、custom_addonsはodoo-server /内のディレクトリです

odoo10のcmd:

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

使用する odoo.pyの代わりにoe

./path/to/odoo/odoo.py scaffold my-module
5
Daniel Reis

AWSの/ opt/odooディレクトリにODOO 9をインストールしました。

だから私は最初にディレクトリを変更します:

 cd /opt/odoo

次に実行:

 odoo.py scaffold modulename ./addons/

次のエラーメッセージが表示されます。

 odoo.py command not found

私のために働く正しいコマンドは次のとおりです:

 Sudo python odoo.py scaffold modulename ./addons/

お役に立てれば。

1
Jaf Faizal

Odooドキュメントからモジュールを作成する正しい方法は次のとおりです:

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

また、モジュールに別のアドオンパスを使用し、odoo/addonsを使用しないことをお勧めします。目的の場所に新しいディレクトリを作成し、このディレクトリをodoo構成に追加するか、起動からこのアドオンでodooを実行できます。

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

./"odoo.pyファイルへのパス "/odoo.py scaffold my-module ./"新しいアドオンのパス "/

qoutesをパスに置き換えます

1
user7561216

これが私の答えです

cd path/to/odoo/odoo-server/

その後

./odoo-bin scaffold new_module_name /path/to/custom/addons

/ path/to/custom/addonsを確認すると、新しいモジュールが表示され、ここで追加を開始できます。

0
Rajnish

ソースまたはパッケージとしてインストールしましたか?.

あなたがする必要があるソースについて

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

パッケージから行う必要がある場合

 odoo.py scaffold [module_name] [where_to_put_it]

[where_to_put_it]は通常アドオンパスですが、アドオンパスはインストール方法によって異なる場合があります。

Addonsフォルダーにモジュールを作成する必要はありません。ただし、そうすることをお勧めします。次の方法で新しいアドオンパスを追加できます。

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

モジュール構造 参照 の場合、およびモジュールの構築用。

0
maharshi

ターミナルに移動し、次のコマンドを入力します。

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」が存在することがわかります。

0
Pravitha V

Git clone odooの最初のステップを提案します。ディレクトリ/フォルダーを作成し、Gitでodooをディレクトリ/フォルダーに複製します。その実行後、Python odoo.py scaffold addons test123。確認のため、ディレクトリ/フォルダアドオンにモジュールまたはモジュールを配置します。odooはモジュールを読み取ることができます。

0

別のバージョン

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

import sys

from openerp.cli import scaffold

sf = scaffold.Scaffold()

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

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

上部のスクリプトをopenerpフォルダーに保存します。次に、以下を実行します。

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

または:

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

Odoo-10または11を使用している場合は、./oe scaffold Academy ../my-modules 使用する : ./odoo-bin scaffold new_module /path/to/your/odoo-version/addons

odoo8、つまりopenerp8を使用している場合は、odoo.py scaffold <module name> <where to put it>

ただし、ディレクトリの正しい場所にいることを確認してください。こちらのリンクにもチュートリアルがあります: https://www.odoo.com/documentation/8.0/howtos/backend.html

-ありがとう

ABhay S

0

場合によっては、Odoo pythonファイルをPython実行するアプリケーションに渡す必要があります。

python odoo.py scaffold modulename addons-path
0
IronHorseCowboy

まず、odooソースがあるディレクトリを変更します。/ opt/odoo

次に、このコマンドを記述します:./ odoo-bin scaffold my_module_name/path-where-to-create

例:./ odoo-bin scaffold odoo_module/Desktop/Repository

0