2

私はDjangoプロジェクトを持っています。デプロイするたびに、一連の manage.py コマンド (syncdb、south migiration、fixture update など) を実行する必要があります。

コマンドを 1 行ずつ入力するのに飽きてきたので、これらを実行するための Python スクリプトを作成しました。

import subprocess
subprocess.call(['python', 'manage.py', 'syncdb'])
#Skip the detail
subprocess.call(['python', 'manage.py', 'loaddata', 'setup/fixture.xml'])

これを行うためのより良い方法があるかどうか疑問に思っていますか?

ありがとう。

4

1 に答える 1

6

fabricリモート アクションのスクリプトを作成できる Python ライブラリである を使用できます。この質問fabricには、受け入れられた回答にいくつかのリンクがあり、djangoの詳細について説明しています。

管理コマンドを直接呼び出すこともできます。

from django.core.management import call_command

call_command('syncdb')
call_command('loaddata', 'setup/fixture.xml')

これを通常の python ファイルとして保存し、シェルから実行するか、デプロイ スクリプトの一部として実行します。

于 2013-03-06T06:57:03.353 に答える