2011-01-25 15 views
15

コマンドラインからDjangoのmanage.pyシェル関数を介してコマンドを実行したいのですが、コマンドラインからDjangoシェルコマンドを実行する

manage.py shell -c "from myapp import models; print models.MyModel.some_calculation()" 

インクルードが道あなたは、例えば、通常のPythonインタプリタで

を-cオプションを使用する場合があります来ました

python -c "print 'hello world'" 

ただし、manage.py shellに相当する-cオプションはありません。これを行う方法はありますか?

+0

ないでください。 2行のスクリプトファイルを作成してください。 –

+1

[カスタム管理コマンドを参照](http://docs.djangoproject.com/en/dev/howto/custom-management-commands/) – virhilo

+0

cmon、静的で退屈です。以下の配管ソリューションを参照してください。 – kraiz

答えて

6

そうではありません。しかし、standalone script for Djangoと書くのは簡単です。

+4

リンクが期限切れになる傾向があります...ここのコード例が優れています。 – JSmyth

32

パイプそれを;)

echo "print 'hello world'" | python manage.py shell 
+7

またはファイルを使用する場合: 'cat my_script.py | python manage.py shell' – Alexandre

+0

私は理由は分かりませんが、それは私のために働いていません。私は 'echo' $(cat my_script.py)を使うことを余儀なくされています。 python manage.py shell'を実行します。 – christianbundy

+0

これは字下げでは機能しません:( – frnhr

関連する問題