Django をコマンドから実行

つぎのようなことがしたい。

$ python -c "print('ドナルドデイズ')"

 

方法1.Django 外部からでも呼び出せるように設定する。

Not like that. But it is easy enough to write a standalone script for Django.

python - Executing a Django Shell Command from the Command Line - Stack Overflow

リンク先では、4つくらい方法が示されている。
1. Set DJANGO_SETTINGS_MODULE before you run
2. Use setup_environ()
3. ...
4. ...


1. Set DJANGO_SETTINGS_MODULE before you run では、環境変数DJANGO_SETTINGS_MODULE を指定する方法を述べている。Django の設定 — Django v1.0 documentation
この方法を採用する時は、 sys.paty.append(自分のプロジェクトファイルへのパス) もしないと行けない様子。
 

方法2.パイプで渡す。

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

 

方法3.ファイルを読み込ませる。

python manage.py shell < data.py

Executing Python script from Django shell - Stack Overflow
What is an alternative to execfile in Python 3.0? - Stack Overflow