私は here を読みます。コマンドを使用してモジュールを足場することができるため、いくつかの初期ファイルを手動で作成する必要はありません。しかし、そのようなコマンドは(Odoo開発ブランチ上の)マスターでは機能しません。
./oe scaffold Academy ../my-modules
Openerpディレクトリにoe
という名前のファイルがないためです。これは最新バージョンで変更されましたか? Odooでモジュールをスキャフォールドするにはどうすればよいですか?
シェルまたはターミナルで、ディレクトリをodooフォルダーに変更します。多分それは/opt/odoo
、またはおそらく/home/odoo
:
cd /opt/odoo
Odoo.pyスクリプトを使用して新しいモジュールを作成します。
./odoo.py scaffold my_new_module ./addons/
(my_new_moduleは新しいモジュールの名前、。/ addons /はOdooアドオンディレクトリです)
./addons/my_new_module/__openerp__.pyファイルを編集します。
nano ./addons/my_new_module/__openerp__.py
名前フィールドを変更して、モジュールのわかりやすい名前を設定します(「Andriusの新しいモジュール」など)。説明とフィールドも変更します。そして、必要なモジュール( 'mail'など)を、依存関係のあるモジュールのリストに追加します。
'depends': ['base', 'mail'],
Models.pyを編集します
nano ./addons/my_new_module/models.py
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メソッドを空のフッターを返すメソッドに置き換えます。)
それを見つけるには、「モジュールリストの更新」オプションを使用する必要があるかもしれません。
[モジュールリストの更新]オプションも見つからない場合は、現在のユーザーの設定で[技術機能]チェックボックスを有効にする必要がある場合があります。
アプリケーションだけでなくモジュールも表示するには、タグの前にある小さな「x」をクリックして、検索ボックスフィルターからタグ「アプリケーション」を削除します。
./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>
使用する odoo.py
の代わりにoe
:
./path/to/odoo/odoo.py scaffold my-module
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/
お役に立てれば。
Odooドキュメントからモジュールを作成する正しい方法は次のとおりです:
odoo.py scaffold [name of module] [desired path of module]
また、モジュールに別のアドオンパスを使用し、odoo/addonsを使用しないことをお勧めします。目的の場所に新しいディレクトリを作成し、このディレクトリをodoo構成に追加するか、起動からこのアドオンでodooを実行できます。
odoo.py --addons-path=[full path to your dir]
./"odoo.pyファイルへのパス "/odoo.py scaffold my-module ./"新しいアドオンのパス "/
qoutesをパスに置き換えます
これが私の答えです
cd path/to/odoo/odoo-server/
その後
./odoo-bin scaffold new_module_name /path/to/custom/addons
/ path/to/custom/addonsを確認すると、新しいモジュールが表示され、ここで追加を開始できます。
ソースまたはパッケージとしてインストールしましたか?.
あなたがする必要があるソースについて
./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]
モジュール構造 参照 の場合、およびモジュールの構築用。
ターミナルに移動し、次のコマンドを入力します。
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」が存在することがわかります。
Git clone odooの最初のステップを提案します。ディレクトリ/フォルダーを作成し、Gitでodooをディレクトリ/フォルダーに複製します。その実行後、Python odoo.py scaffold addons test123。確認のため、ディレクトリ/フォルダアドオンにモジュールまたはモジュールを配置します。odooはモジュールを読み取ることができます。
別のバージョン
\###### 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
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
場合によっては、Odoo pythonファイルをPython実行するアプリケーションに渡す必要があります。
python odoo.py scaffold modulename addons-path
まず、odooソースがあるディレクトリを変更します。/ opt/odoo
次に、このコマンドを記述します:./ odoo-bin scaffold my_module_name/path-where-to-create
例:./ odoo-bin scaffold odoo_module/Desktop/Repository