ここで、コマンドを使用してモジュールをスキャフォールディングできるため、初期ファイルを手動で作成する必要がないことを読みました。しかし、そのようなコマンドはマスター (Odoo 開発ブランチ) では機能しません:
./oe scaffold Academy ../my-modules
oe
openerp ディレクトリにそのようなファイルが呼び出されていないためです。これは最新バージョンで変更されましたか?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.py
の代わりに使用oe
:
./path/to/odoo/odoo.py scaffold my-module
ODOO 9 を AWS のディレクトリ /opt/odoo にインストールしました。
まず、ディレクトリを変更します。
cd /opt/odoo
次に実行しました:
odoo.py scaffold modulename ./addons/
次のエラー メッセージが表示されます。
odoo.py command not found
私のために働く正しいコマンドは次のとおりです。
sudo python odoo.py scaffold modulename ./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]
モジュール構造の参照およびモジュールのビルド用。
Git clone odoo への最初のステップとして、あなたをお勧めします。ディレクトリ/フォルダーを作成し、ディレクトリ/フォルダーに odoo の Git クローンを作成します。その実行後、Python odoo.py scaffold アドオン test123. ディレクトリ/フォルダのアドオンに配置またはモジュールを追加して、odoo がモジュールを読み取れるようにします。
最初に、odoo ソースのディレクトリを変更します: /opt/odoo
次に、次のコマンドを記述します: ./odoo-bin scaffold my_module_name /path-where-to-create
例: ./odoo-bin scaffold odoo_module /Desktop/Repository
このコードが役立つかもしれません。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()
関数に送る方法を改善できれば、それは素晴らしいことです。